]>
Commit | Line | Data |
---|---|---|
7771752e | 1 | #ifndef ALIMUONTRACKHITPATTERN_H |
2 | #define ALIMUONTRACKHITPATTERN_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
ea94c18b | 6 | /*$Id$*/ |
7 | ||
7771752e | 8 | /// \ingroup rec |
9 | /// \class AliMUONTrackHitPattern | |
10 | /// \brief Class for the MUON track hit pattern | |
11 | /// | |
12 | // Author: Diego Stocco | |
13 | ||
14 | #include <TObject.h> | |
d5315275 | 15 | //#include <TObjArray.h> |
7771752e | 16 | |
7ec3b9cf | 17 | class AliMUONVTrackStore; |
18 | class AliMUONVTriggerStore; | |
683cb6c5 | 19 | class AliMUONVTriggerTrackStore; |
7771752e | 20 | class AliMUONTrackParam; |
7771752e | 21 | class AliMUONGeometryTransformer; |
7ec3b9cf | 22 | class AliMUONVDigitStore; |
683cb6c5 | 23 | class AliMUONTriggerTrack; |
24 | class AliMUONTrack; | |
a0dc65b4 | 25 | class AliMUONRecoParam; |
d5315275 | 26 | class AliMUONTriggerUtilities; |
27 | class AliMpPad; | |
28 | class TVector3; | |
0a2dcc83 | 29 | class TArrayI; |
7771752e | 30 | |
7ec3b9cf | 31 | class AliMUONTrackHitPattern : public TObject |
32 | { | |
7771752e | 33 | public: |
7ec3b9cf | 34 | |
a0dc65b4 | 35 | AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, |
36 | const AliMUONGeometryTransformer& transformer, | |
d5315275 | 37 | const AliMUONVDigitStore& digitStore, |
38 | const AliMUONTriggerUtilities* triggerUtilities); | |
7ec3b9cf | 39 | virtual ~AliMUONTrackHitPattern(); // Destructor |
7ec3b9cf | 40 | |
9b1e069f | 41 | void ExecuteValidation(const AliMUONVTrackStore& trackStore, |
683cb6c5 | 42 | const AliMUONVTriggerTrackStore& triggerTrackStore, |
43 | const AliMUONVTriggerStore& triggerStore) const; | |
44 | ||
45 | AliMUONTriggerTrack* MatchTriggerTrack(AliMUONTrack* track, | |
46 | AliMUONTrackParam& trackParam, | |
47 | const AliMUONVTriggerTrackStore& triggerTrackStore, | |
48 | const AliMUONVTriggerStore& triggerStore) const; | |
67c201be | 49 | |
0a2dcc83 | 50 | UInt_t GetHitPattern(const AliMUONTrackParam& trackParam, Bool_t isTriggerTrack) const; |
51 | ||
52 | UInt_t GetHitPattern(const AliMUONTriggerTrack* matchedTriggerTrack) const; // obsolete | |
53 | UInt_t GetHitPattern(AliMUONTrackParam* trackParam) const; // obsolete | |
683cb6c5 | 54 | |
683cb6c5 | 55 | protected: |
56 | void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const; | |
57 | ||
0a2dcc83 | 58 | Int_t GetTrackParamAtChamber(const AliMUONTrackParam& inputTrackParam, Int_t chamber, |
59 | TObjArray& trackParamList, TArrayI& foundDetElemId, TObjArray& padsFromPos) const; | |
60 | ||
61 | Bool_t FindMatchingPads(const AliMUONTrackParam* trackParam, | |
62 | TArrayI& matchedDetElemId, TObjArray& pads, | |
63 | const AliMUONVDigitStore& digitStore, Bool_t isTriggerTrack) const; | |
64 | ||
65 | Bool_t PosInDetElemIdLocal(TVector3& localCoor, const TVector3& globalPoint1, const TVector3& globalPoint2, Int_t detElemId) const; | |
66 | ||
67 | /// Return reco parameters | |
68 | const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; } | |
69 | ||
70 | // THE FOLLOWING METHODS ARE OBSOLETE | |
71 | ||
683cb6c5 | 72 | // Methods for hit pattern from tracker track |
64f628e9 | 73 | void FindPadMatchingTrack(const AliMUONTrackParam& trackParam, |
0a2dcc83 | 74 | Bool_t isMatch[2], Int_t iChamber) const; |
683cb6c5 | 75 | |
76 | Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad, | |
d5315275 | 77 | Float_t dpx, Float_t dpy, |
78 | const AliMUONTrackParam& trackParam) const; | |
7771752e | 79 | |
683cb6c5 | 80 | // Methods for hit pattern from matched trigger track |
0a2dcc83 | 81 | Bool_t PerformTrigTrackMatch(UInt_t &pattern, const AliMUONTriggerTrack* matchedTrigTrack) const; // obsolete |
683cb6c5 | 82 | |
0a2dcc83 | 83 | Bool_t FindPadMatchingTrig(const TVector3& vec11, const TVector3& vec21, Int_t matchedDetElemId[2], TObjArray& matchedPads) const; // obsolete |
d5315275 | 84 | |
0a2dcc83 | 85 | Float_t PadMatchTrack(const AliMpPad& pad, const TVector3& trackPosAtPad) const; // obsolete |
d5315275 | 86 | |
0a2dcc83 | 87 | Int_t DetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t foundDetElemId[2]) const; // obsolete |
d5315275 | 88 | |
0a2dcc83 | 89 | Bool_t PadsFromPos(const TVector3& vec11, const TVector3& vec21, Int_t detElemId, TObjArray& pads) const; // obsolete |
683cb6c5 | 90 | |
a0dc65b4 | 91 | |
0a2dcc83 | 92 | Bool_t IsCloseToAccEdge(TObjArray& pads, Int_t detElemId, Float_t coor[2]) const; // obsolete |
d5315275 | 93 | |
0a2dcc83 | 94 | Bool_t IsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode, const TVector3& vec11, const TVector3& vec21) const; // obsolete |
d5315275 | 95 | |
7771752e | 96 | private: |
683cb6c5 | 97 | /// Not implemented |
98 | AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs); | |
99 | /// Not implemented | |
100 | AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs); | |
101 | ||
9b1e069f | 102 | const AliMUONRecoParam* fkRecoParam; //!< pointer to reco parameters |
103 | const AliMUONGeometryTransformer& fkTransformer; //!< geometry transformer | |
64f628e9 | 104 | const AliMUONVDigitStore& fkDigitStore; //!< digitStore |
d5315275 | 105 | const AliMUONTriggerUtilities* fkTriggerUtilities; //!< trigger utilities for mapping |
683cb6c5 | 106 | |
0a2dcc83 | 107 | const Float_t fkMaxDistance; //!< Maximum distance for reference // obsolete |
a0dc65b4 | 108 | |
683cb6c5 | 109 | ClassDef(AliMUONTrackHitPattern, 0) // MUON track hit pattern |
7771752e | 110 | }; |
111 | ||
112 | #endif |