]>
Commit | Line | Data |
---|---|---|
0b3dd00a | 1 | #ifndef ALIMUONTRIGGERTRACK_H |
2 | #define ALIMUONTRIGGERTRACK_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /*$Id$*/ | |
30178c30 | 7 | // Revision of includes 07/05/2004 |
0b3dd00a | 8 | |
692de412 | 9 | /// \ingroup rec |
13985652 | 10 | /// \class AliMUONTriggerTrack |
692de412 | 11 | /// \brief Reconstructed trigger track in ALICE dimuon spectrometer |
58e8f326 | 12 | /// \author Philippe Crochet |
0b3dd00a | 13 | |
30178c30 | 14 | #include <TObject.h> |
bdfb6eef | 15 | #include <TMatrixD.h> |
16 | #include <TMath.h> | |
0b3dd00a | 17 | |
29f1b13a | 18 | class AliMUONTrackReconstructor; |
0b3dd00a | 19 | |
30178c30 | 20 | class AliMUONTriggerTrack : public TObject |
21 | { | |
0b3dd00a | 22 | public: |
23 | AliMUONTriggerTrack(); // Constructor | |
24 | virtual ~AliMUONTriggerTrack(); // Destructor | |
25 | AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor | |
26 | AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator | |
bdfb6eef | 27 | AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t z11, Float_t z21, |
28 | Float_t slopeX, Float_t slopeY, | |
67c201be | 29 | Int_t iloTrg, Long_t theGTPattern, UShort_t hitsPatternInTrigCh=0); |
c6ba19f7 | 30 | |
71a2d3aa | 31 | // getters |
32 | ||
33 | /// Return x position of fired Y strip in MC11 | |
58ff0bd4 | 34 | Float_t GetX11() const {return fx11;} |
71a2d3aa | 35 | /// Return y position of fired X strip in MC11 |
58ff0bd4 | 36 | Float_t GetY11() const {return fy11;} |
bdfb6eef | 37 | /// Return z position of fired X strip in MC11 |
38 | Float_t GetZ11() const {return fz11;} | |
39 | /// Return z position of fired X strip in MC21 | |
40 | Float_t GetZ21() const {return fz21;} | |
71a2d3aa | 41 | /// Return track theta angle in X |
bdfb6eef | 42 | Float_t GetThetax() const {return TMath::ATan(fSlopeX);} |
71a2d3aa | 43 | /// Return track theta angle in Y |
bdfb6eef | 44 | Float_t GetThetay() const {return TMath::ATan(fSlopeY);} |
45 | /// Return track slope in X | |
46 | Float_t GetSlopeX() const {return fSlopeX;} | |
47 | /// Return track slope in Y | |
48 | Float_t GetSlopeY() const {return fSlopeY;} | |
71a2d3aa | 49 | /// Return local trigger number |
c6ba19f7 | 50 | Int_t GetLoTrgNum() const {return floTrgNum;} |
9131b4fe | 51 | |
71a2d3aa | 52 | // setters |
53 | ||
54 | /// Set x position of fired Y strip in MC11 | |
58ff0bd4 | 55 | void SetX11(Float_t x) {fx11 = x;} |
71a2d3aa | 56 | /// Set y position of fired X strip in MC11 |
58ff0bd4 | 57 | void SetY11(Float_t y) {fy11 = y;} |
bdfb6eef | 58 | /// Set z position of fired X strip in MC11 |
59 | void SetZ11(Float_t z) {fz11 = z;} | |
60 | /// Set z position of fired X strip in MC21 | |
61 | void SetZ21(Float_t z) {fz21 = z;} | |
62 | /// Set track slope in X | |
63 | void SetSlopeX(Float_t slopeX) {fSlopeX = slopeX;} | |
64 | /// Set track slope in Y | |
65 | void SetSlopeY(Float_t slopeY) {fSlopeY = slopeY;} | |
71a2d3aa | 66 | /// Set local trigger number |
c6ba19f7 | 67 | void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;} |
58ff0bd4 | 68 | |
71a2d3aa | 69 | /// Set Global trigger pattern (do not work with static statement) |
c6eddbb2 | 70 | void SetGTPattern(UChar_t pat) {fGTPattern = pat;} |
71a2d3aa | 71 | /// Return Global trigger pattern (do not work with static statement) |
67c201be | 72 | UChar_t GetGTPattern() const {return fGTPattern;} |
73 | ||
74 | /// set word telling which trigger chambers where hit by track | |
75 | UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;} | |
76 | /// set word telling which trigger chambers where hit by track | |
77 | void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;} | |
9131b4fe | 78 | |
bdfb6eef | 79 | virtual void Print(Option_t* opt="FULL") const; |
80 | ||
81 | const TMatrixD& GetCovariances() const; | |
82 | void SetCovariances(const TMatrixD& covariances); | |
83 | void SetCovariances(const Double_t matrix[3][3]); | |
9f164762 | 84 | |
85 | Bool_t Match(AliMUONTriggerTrack &track, Double_t sigmaCut) const; | |
e5e7be4b | 86 | |
0b3dd00a | 87 | protected: |
88 | private: | |
829425a5 | 89 | Float_t fx11; ///< x position of fired Y strip in MC11 |
90 | Float_t fy11; ///< y position of fired X strip in MC11 | |
bdfb6eef | 91 | Float_t fz11; ///< z position of fired X strip in MC11 |
92 | Float_t fz21; ///< z position of fired X strip in MC21 | |
93 | Float_t fSlopeX; ///< track slope in X | |
94 | Float_t fSlopeY; ///< track slope in Y | |
c6ba19f7 | 95 | Int_t floTrgNum; ///< local trigger number |
67c201be | 96 | UChar_t fGTPattern; ///< Global trigger pattern (do not work with static statement) |
97 | UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers | |
bdfb6eef | 98 | mutable TMatrixD *fCovariances; ///< Covariance matrix of track parameters |
9131b4fe | 99 | |
bdfb6eef | 100 | ClassDef(AliMUONTriggerTrack, 6) // Reconstructed trigger track in ALICE dimuon spectrometer |
0b3dd00a | 101 | }; |
102 | ||
103 | #endif | |
9131b4fe | 104 |