]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // @(#) $Id$ |
2 | ||
47e75a3e | 3 | #ifndef ALIL3ConfMapPointH |
4 | #define ALIL3ConfMapPointH | |
108615fc | 5 | |
6 | #include "AliL3RootTypes.h" | |
7 | ||
8 | class AliL3SpacePointData; | |
9 | class AliL3ConfMapTrack; | |
10 | class AliL3Vertex; | |
11 | ||
12 | class AliL3ConfMapPoint { | |
13 | ||
14 | private: | |
15 | ||
b1ed0288 | 16 | Int_t fHitNumber; //hit number |
17 | Int_t fTrackNumber; //track number | |
18 | Int_t fNextHitNumber; //next hit number | |
19 | Bool_t fUsed; //flag is used | |
20 | Int_t fPadrow; //padrow | |
21 | Int_t fSector; //sector | |
108615fc | 22 | |
23 | //global coordinates and their errors | |
b1ed0288 | 24 | Double_t fx; //glob x |
25 | Double_t fy; //glob y | |
26 | Double_t fz; //glob z | |
27 | Double_t fxerr; //glob xerr | |
28 | Double_t fyerr; //glob yerr | |
29 | Double_t fzerr; //glob zerr | |
108615fc | 30 | |
31 | Double_t fWxy; // x-y weight on x-y | |
32 | Double_t fWz; // z weight on z | |
b1ed0288 | 33 | Float_t fs; //track trajectory |
108615fc | 34 | |
35 | // Interaction point | |
36 | Double_t fXt; // x-value of the interaction point | |
37 | Double_t fYt; // y-value of the interaction point | |
38 | Double_t fZt; // z-value of the interaction point | |
39 | ||
40 | Double_t fXterr; // error of mXt | |
41 | Double_t fYterr; // error of mYt | |
42 | Double_t fZterr; // error of mZt | |
43 | ||
44 | // conformal mapping coordinates | |
45 | Double_t fXprime; // transformed x | |
46 | Double_t fYprime; // transformed y | |
47 | ||
48 | Double_t fXprimeerr; // error of mXprime | |
49 | Double_t fYprimeerr; // error of mYprime | |
50 | ||
51 | // coordinates with respect to the vertex | |
52 | ||
53 | // cartesian coordinates | |
54 | Double_t fXv; // x with respect to vertex | |
55 | Double_t fYv; // y with respect to vertex | |
56 | Double_t fZv; // z with respect to vertex | |
57 | ||
58 | Double_t fXverr; // error of mXv | |
59 | Double_t fYverr; // error of mYv | |
60 | Double_t fZverr; // error of mZv | |
61 | ||
62 | // spherical coordinates | |
63 | Double_t fPhi; // angle phi | |
64 | Double_t fEta; // pseudorapidity | |
65 | ||
47e75a3e | 66 | AliL3ConfMapPoint *fNextVolumeHit; //! |
67 | AliL3ConfMapPoint *fNextRowHit; //! | |
68 | AliL3ConfMapPoint *fNextTrackHit; //! Linked chain of points in a track | |
69 | Short_t fPhiIndex; //phi index | |
70 | Short_t fEtaIndex; //eta index | |
71 | Double_t fXYChi2; //xy chi | |
72 | Double_t fSZChi2; //z chi | |
73 | Int_t fMCTrackID[3]; //MClabel of tracks, may overlap | |
74 | ||
b1ed0288 | 75 | static Bool_t fgDontMap; //flag to switch off mapping |
02f030e3 | 76 | |
108615fc | 77 | public: |
78 | ||
79 | AliL3ConfMapPoint(); | |
80 | virtual ~AliL3ConfMapPoint(); | |
355debe1 | 81 | |
82 | void Reset(); | |
47e75a3e | 83 | Bool_t ReadHits(AliL3SpacePointData* hits ); |
108615fc | 84 | |
108615fc | 85 | // getter |
b1ed0288 | 86 | Double_t GetX() const {return fx;} |
87 | Double_t GetY() const {return fy;} | |
88 | Double_t GetZ() const {return fz;} | |
89 | Double_t GetXerr() const {return fxerr;} | |
90 | Double_t GetYerr() const {return fyerr;} | |
91 | Double_t GetZerr() const {return fzerr;} | |
108615fc | 92 | Int_t GetPadRow() const {return fPadrow;} |
93 | Int_t GetSector() const {return fSector;} | |
94 | ||
95 | Double_t GetXYWeight() const {return fWxy;} | |
96 | Double_t GetZWeight() const {return fWz;} | |
b1ed0288 | 97 | Float_t GetS() const {return fs;} |
108615fc | 98 | |
108615fc | 99 | Bool_t GetUsage() const {return fUsed;} |
02f030e3 | 100 | Double_t GetPhi() const {return fPhi;} |
101 | Double_t GetEta() const {return fEta;} | |
102 | ||
103 | Double_t GetXprime() const {return fXprime;} | |
104 | Double_t GetYprime() const {return fYprime;} | |
105 | Double_t GetXprimeerr() const {return fXprimeerr;} | |
106 | Double_t GetYprimeerr() const {return fYprimeerr;} | |
107 | ||
47e75a3e | 108 | Double_t GetXt() const {return fXt;} |
109 | Double_t GetYt() const {return fYt;} | |
110 | Double_t GetZt() const {return fZt;} | |
111 | Double_t GetXterr() const {return fXterr;} | |
112 | Double_t GetYterr() const {return fYterr;} | |
113 | Double_t GetZterr() const {return fZterr;} | |
02f030e3 | 114 | |
47e75a3e | 115 | Double_t GetXv() const {return fXv;} |
116 | Double_t GetYv() const {return fYv;} | |
117 | Double_t GetZv() const {return fZv;} | |
118 | Double_t GetXverr() const {return fXverr;} | |
119 | Double_t GetYverr() const {return fYverr;} | |
120 | Double_t GetZverr() const {return fZverr;} | |
108615fc | 121 | |
122 | Int_t GetHitNumber() const {return fHitNumber;} | |
123 | Int_t GetNextHitNumber() const {return fNextHitNumber;} | |
124 | Int_t GetTrackNumber() const {return fTrackNumber;} | |
b1ed0288 | 125 | //Int_t const *GetMCTrackID() const {return fMCTrackID;} |
355debe1 | 126 | |
47e75a3e | 127 | AliL3ConfMapPoint* GetNextVolumeHit(){return fNextVolumeHit;} |
128 | AliL3ConfMapPoint* GetNextRowHit(){return fNextRowHit;} | |
129 | AliL3ConfMapPoint* GetNextTrackHit(){return fNextTrackHit;} | |
130 | Short_t GetPhiIndex() const {return fPhiIndex;} | |
131 | Short_t GetEtaIndex() const {return fEtaIndex;} | |
132 | Double_t GetXYChi2() const {return fXYChi2;} | |
133 | Double_t GetSZChi2() const {return fSZChi2;} | |
134 | //Int_t fMCTrackID[3]; //MClabel of tracks, may overlap | |
135 | ||
108615fc | 136 | // setter |
47e75a3e | 137 | void SetNextVolumeHit(AliL3ConfMapPoint* p){fNextVolumeHit=p;} |
138 | void SetNextRowHit(AliL3ConfMapPoint* p){fNextRowHit=p;} | |
139 | void SetNextTrackHit(AliL3ConfMapPoint* p){fNextTrackHit=p;} | |
140 | ||
141 | void SetPhiIndex(Short_t p){fPhiIndex=p;} | |
142 | void SetEtaIndex(Short_t p){fEtaIndex=p;} | |
143 | void SetXYChi2(Double_t d) {fXYChi2=d;} | |
144 | void SetSZChi2(Double_t d) {fSZChi2=d;} | |
145 | ||
b1ed0288 | 146 | static void SetDontMap(Bool_t b){fgDontMap=b;} |
147 | ||
47e75a3e | 148 | void SetX(Double_t f){fx=f;} |
149 | void SetY(Double_t f){fy=f;} | |
150 | void SetZ(Double_t f){fz=f;} | |
151 | void SetXerr(Double_t f){fxerr=f;} | |
152 | void SetYerr(Double_t f){fyerr=f;} | |
153 | void SetZerr(Double_t f){fzerr=f;} | |
154 | void SetPadRow(Int_t f){fPadrow=f;} | |
155 | void SetSector(Int_t f){fSector=f;} | |
156 | void SetMCTrackID(Int_t f,Int_t g,Int_t h){fMCTrackID[0] = f; fMCTrackID[1]=g; fMCTrackID[2]=h;} | |
157 | ||
158 | void SetXYWeight(Float_t f){fWxy = f;} | |
159 | void SetZWeight(Float_t f){fWz = f;} | |
160 | void SetS(Float_t f){fs = f;} | |
161 | void SetUsage(Bool_t f){fUsed=f;} | |
162 | void SetPhi(Double_t f ){fPhi = f;} | |
163 | void SetEta(Double_t f){fEta = f;} | |
164 | void SetXprime(Double_t f){fXprime = f;} | |
165 | void SetYprime(Double_t f){fYprime = f;} | |
166 | void SetXprimeerr(Double_t f){fXprimeerr = f;} | |
167 | void SetYprimeerr(Double_t f){fYprimeerr = f;} | |
168 | void SetXt(Double_t f){fXt = f;} | |
169 | void SetYt(Double_t f){fYt = f;} | |
170 | void SetZt(Double_t f){fZt = f;} | |
171 | void SetXterr(Double_t f){fXterr = f;} | |
172 | void SetYterr(Double_t f){fYterr = f;} | |
173 | void SetZterr(Double_t f){fZterr = f;} | |
174 | void SetXv(Double_t f){fXv = f;} | |
175 | void SetYv(Double_t f){fYv = f;} | |
176 | void SetZv(Double_t f){fZv = f;} | |
177 | void SetXverr(Double_t f){fXverr = f;} | |
178 | void SetYverr(Double_t f){fYverr = f;} | |
179 | void SetZverr(Double_t f){fZverr = f;} | |
180 | void SetHitNumber(Int_t f){fHitNumber=f;} | |
181 | void SetTrackNumber(Int_t f){fTrackNumber=f;} | |
182 | void SetNextHitNumber(Int_t f){fNextHitNumber=f;} | |
02f030e3 | 183 | |
184 | void Setup(AliL3Vertex *vertex);// does the usual setup in the right order | |
47e75a3e | 185 | void SetAngles(); // calculate spherical angles and set values |
186 | void SetIntPoint(const Double_t inx = 0.,const Double_t iny = 0., | |
187 | const Double_t inz = 0.,const Double_t inxerr = 0., | |
188 | const Double_t inyerr = 0., const Double_t inzerr = 0.); | |
108615fc | 189 | //-> set interaction point |
02f030e3 | 190 | void SetShiftedCoord();// set shifted coordinates |
191 | void SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit | |
192 | void SetConfCoord();// conformal mapping | |
193 | ||
b661165c | 194 | ClassDef(AliL3ConfMapPoint, 1) //Conformal mapping hit class. |
108615fc | 195 | }; |
196 | ||
197 | #endif |