]>
Commit | Line | Data |
---|---|---|
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$*/ | |
7 | // Revision of includes 07/05/2004 | |
8 | ||
9 | /// \ingroup rec | |
10 | /// \class AliMUONTriggerTrack | |
11 | /// \brief Reconstructed trigger track in ALICE dimuon spectrometer | |
12 | /// \author Philippe Crochet | |
13 | ||
14 | #include <TObject.h> | |
15 | #include <TMatrixD.h> | |
16 | #include <TMath.h> | |
17 | ||
18 | class AliMUONTrackReconstructor; | |
19 | ||
20 | class AliMUONTriggerTrack : public TObject | |
21 | { | |
22 | public: | |
23 | AliMUONTriggerTrack(); // Constructor | |
24 | virtual ~AliMUONTriggerTrack(); // Destructor | |
25 | AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor | |
26 | AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator | |
27 | AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t z11, Float_t z21, | |
28 | Float_t slopeX, Float_t slopeY, | |
29 | Int_t iloTrg, Long_t theGTPattern, UShort_t hitsPatternInTrigCh=0); | |
30 | ||
31 | // getters | |
32 | ||
33 | /// Return x position of fired Y strip in MC11 | |
34 | Float_t GetX11() const {return fx11;} | |
35 | /// Return y position of fired X strip in MC11 | |
36 | Float_t GetY11() const {return fy11;} | |
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;} | |
41 | /// Return track theta angle in X | |
42 | Float_t GetThetax() const {return TMath::ATan(fSlopeX);} | |
43 | /// Return track theta angle in Y | |
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;} | |
49 | /// Return local trigger number | |
50 | Int_t GetLoTrgNum() const {return floTrgNum;} | |
51 | ||
52 | // setters | |
53 | ||
54 | /// Set x position of fired Y strip in MC11 | |
55 | void SetX11(Float_t x) {fx11 = x;} | |
56 | /// Set y position of fired X strip in MC11 | |
57 | void SetY11(Float_t y) {fy11 = y;} | |
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;} | |
66 | /// Set local trigger number | |
67 | void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;} | |
68 | ||
69 | /// Set Global trigger pattern (do not work with static statement) | |
70 | void SetGTPattern(UChar_t pat) {fGTPattern = pat;} | |
71 | /// Return Global trigger pattern (do not work with static statement) | |
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;} | |
78 | ||
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]); | |
84 | ||
85 | protected: | |
86 | private: | |
87 | Float_t fx11; ///< x position of fired Y strip in MC11 | |
88 | Float_t fy11; ///< y position of fired X strip in MC11 | |
89 | Float_t fz11; ///< z position of fired X strip in MC11 | |
90 | Float_t fz21; ///< z position of fired X strip in MC21 | |
91 | Float_t fSlopeX; ///< track slope in X | |
92 | Float_t fSlopeY; ///< track slope in Y | |
93 | Int_t floTrgNum; ///< local trigger number | |
94 | UChar_t fGTPattern; ///< Global trigger pattern (do not work with static statement) | |
95 | UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers | |
96 | mutable TMatrixD *fCovariances; ///< Covariance matrix of track parameters | |
97 | ||
98 | ClassDef(AliMUONTriggerTrack, 6) // Reconstructed trigger track in ALICE dimuon spectrometer | |
99 | }; | |
100 | ||
101 | #endif | |
102 |