]>
Commit | Line | Data |
---|---|---|
a9e2aefa | 1 | #ifndef ALIMUONHITFORREC_H |
2 | #define ALIMUONHITFORREC_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 | ||
8 | #include <TROOT.h> | |
9 | ||
10 | class AliMUONHit; | |
11 | class AliMUONRawCluster; | |
12 | class AliMUONTrackHit; | |
13 | class AliMUONTrackParam; | |
14 | ||
15 | class AliMUONHitForRec : public TObject { | |
16 | public: | |
17 | AliMUONHitForRec(){ | |
18 | // Constructor | |
19 | ;} // Constructor | |
20 | virtual ~AliMUONHitForRec(){ | |
21 | // Destructor | |
22 | ;} // Destructor | |
23 | AliMUONHitForRec (const AliMUONHitForRec& AliMUONHitForRec); // copy constructor | |
24 | AliMUONHitForRec& operator=(const AliMUONHitForRec& AliMUONHitForRec); // assignment operator | |
25 | AliMUONHitForRec(AliMUONHit* mHit); // Constructor from GEANT hit | |
26 | AliMUONHitForRec(AliMUONRawCluster* RawCluster); // Constructor from raw cluster | |
27 | ||
9b03f36b | 28 | // Inline functions for Get and Set |
9cbdf048 | 29 | Double_t GetBendingCoor(void) { |
9b03f36b | 30 | // Get fBendingCoor |
31 | return fBendingCoor;} | |
9cbdf048 | 32 | void SetBendingCoor(Double_t BendingCoor) { |
9b03f36b | 33 | // Set fBendingCoor |
34 | fBendingCoor = BendingCoor;} | |
9cbdf048 | 35 | Double_t GetNonBendingCoor(void) { |
9b03f36b | 36 | // Get fNonBendingCoor |
37 | return fNonBendingCoor;} | |
9cbdf048 | 38 | void SetNonBendingCoor(Double_t NonBendingCoor) { |
9b03f36b | 39 | // Set fNonBendingCoor |
40 | fNonBendingCoor = NonBendingCoor;} | |
9cbdf048 | 41 | Double_t GetZ(void) { |
9b03f36b | 42 | // Get fZ |
43 | return fZ;} | |
9cbdf048 | 44 | void SetZ(Double_t Z) { |
9b03f36b | 45 | // Set fZ |
46 | fZ = Z;} | |
9cbdf048 | 47 | Double_t GetBendingReso2(void) { |
9b03f36b | 48 | // Get fBendingReso2 |
49 | return fBendingReso2;} | |
9cbdf048 | 50 | void SetBendingReso2(Double_t BendingReso2) { |
9b03f36b | 51 | // Set fBendingReso2 |
52 | fBendingReso2 = BendingReso2;} | |
9cbdf048 | 53 | Double_t GetNonBendingReso2(void) { |
9b03f36b | 54 | // Get fNonBendingReso2 |
55 | return fNonBendingReso2;} | |
9cbdf048 | 56 | void SetNonBendingReso2(Double_t NonBendingReso2) { |
9b03f36b | 57 | // Set fNonBendingReso2 |
58 | fNonBendingReso2 = NonBendingReso2;} | |
9cbdf048 | 59 | Int_t GetChamberNumber(void) { |
9b03f36b | 60 | // Get fChamberNumber |
61 | return fChamberNumber;} | |
9cbdf048 | 62 | void SetChamberNumber(Int_t ChamberNumber) { |
9b03f36b | 63 | // Set fChamberNumber |
64 | fChamberNumber = ChamberNumber;} | |
9cbdf048 | 65 | Int_t GetHitNumber(void) { |
9b03f36b | 66 | // Get fHitNumber |
67 | return fHitNumber;} | |
9cbdf048 | 68 | void SetHitNumber(Int_t HitNumber) { |
9b03f36b | 69 | // Set fHitNumber |
70 | fHitNumber = HitNumber;} | |
9cbdf048 | 71 | Int_t GetTHTrack(void) { |
9b03f36b | 72 | // Get fTHTrack |
73 | return fTHTrack;} | |
9cbdf048 | 74 | void SetTHTrack(Int_t THTrack) { |
9b03f36b | 75 | // Set fTHTrack |
76 | fTHTrack = THTrack;} | |
9cbdf048 | 77 | Int_t GetGeantSignal(void) { |
9b03f36b | 78 | // Get fGeantSignal |
79 | return fGeantSignal;} | |
9cbdf048 | 80 | void SetGeantSignal(Int_t GeantSignal) { |
9b03f36b | 81 | // Set fGeantSignal |
82 | fGeantSignal = GeantSignal;} | |
9cbdf048 | 83 | Int_t GetIndexOfFirstSegment(void) { |
9b03f36b | 84 | // Get fIndexOfFirstSegment |
85 | return fIndexOfFirstSegment;} | |
9cbdf048 | 86 | void SetIndexOfFirstSegment(Int_t IndexOfFirstSegment) { |
9b03f36b | 87 | // Set fIndexOfFirstSegment |
88 | fIndexOfFirstSegment = IndexOfFirstSegment;} | |
9cbdf048 | 89 | Int_t GetNSegments(void) { |
9b03f36b | 90 | // Get fNSegments |
91 | return fNSegments;} | |
9cbdf048 | 92 | void SetNSegments(Int_t NSegments) { |
9b03f36b | 93 | // Set fNSegments |
94 | fNSegments = NSegments;} | |
9cbdf048 | 95 | AliMUONTrackHit* GetFirstTrackHitPtr(void) { |
9b03f36b | 96 | // Get fFirstTrackHitPtr |
97 | return fFirstTrackHitPtr;} | |
9cbdf048 | 98 | void SetFirstTrackHitPtr(AliMUONTrackHit* FirstTrackHitPtr) { |
9b03f36b | 99 | // Set fFirstTrackHitPtr |
9cbdf048 | 100 | fFirstTrackHitPtr = FirstTrackHitPtr;} |
101 | AliMUONTrackHit* GetLastTrackHitPtr(void) { | |
9b03f36b | 102 | // Get fLastTrackHitPtr |
103 | return fLastTrackHitPtr;} | |
9cbdf048 | 104 | void SetLastTrackHitPtr(AliMUONTrackHit* LastTrackHitPtr) { |
9b03f36b | 105 | // Set fLastTrackHitPtr |
106 | fLastTrackHitPtr = LastTrackHitPtr;} | |
9cbdf048 | 107 | Int_t GetNTrackHits(void) { |
9b03f36b | 108 | // Get fNTrackHits |
109 | return fNTrackHits;} | |
9cbdf048 | 110 | void SetNTrackHits(Int_t NTrackHits) { |
9b03f36b | 111 | // Set fNTrackHits |
112 | fNTrackHits = NTrackHits;} | |
113 | ||
a9e2aefa | 114 | |
115 | Double_t NormalizedChi2WithHitForRec(AliMUONHitForRec* Hit, Double_t Sigma2Cut); | |
116 | /* void UpdateFromChamberTrackParam(AliMUONTrackParam *TrackParam, Double_t MCSfactor); */ | |
117 | ||
118 | // What is necessary for sorting TClonesArray's; sufficient too ???? | |
119 | Bool_t IsSortable() const { return kTRUE; } | |
120 | Int_t Compare(TObject* HitForRec); // "Compare" function for sorting | |
121 | protected: | |
122 | private: | |
123 | Double_t fBendingCoor; // coordinate (cm) in bending plane | |
124 | Double_t fNonBendingCoor; // coordinate (cm) in non bending plane | |
125 | Double_t fZ; // Z coordinate (cm) | |
126 | Double_t fBendingReso2; // resolution**2 (cm**2) on coordinate in bending plane | |
127 | Double_t fNonBendingReso2; // resolution**2 (cm**2) on coordinate in non bending plane | |
128 | ||
129 | // links back to original hit for various checks | |
130 | // ideal would be real link to "hit" or "reconstructed hit" | |
131 | // if everything would be in memory ???? | |
132 | Int_t fChamberNumber; // chamber number (0...) | |
133 | Int_t fHitNumber; // hit number (0...): RawCluster in "chamber" event of TR or GEANT hit in "track" event of TH | |
134 | Int_t fTHTrack; // track number (0...) in TH | |
135 | Int_t fGeantSignal; // Geant signal (1) or background (0) | |
136 | ||
137 | // links forward to the segment(s) if HitForRec in first chamber of a station | |
138 | Int_t fIndexOfFirstSegment; // index of first Segment | |
139 | Int_t fNSegments; // number of Segments | |
140 | ||
141 | // links forward to reconstructed track hits | |
142 | AliMUONTrackHit *fFirstTrackHitPtr ; // pointer to first TrackHit made with HitForRec | |
143 | AliMUONTrackHit *fLastTrackHitPtr ; // pointer to last TrackHit made with HitForRec | |
144 | Int_t fNTrackHits; // number of TrackHit's made with HitForRec | |
145 | ||
146 | ClassDef(AliMUONHitForRec, 1) // Class definition in ROOT context | |
147 | }; | |
148 | ||
149 | #endif |