]>
Commit | Line | Data |
---|---|---|
3e87ef69 | 1 | // @(#) $Id$ |
2 | ||
108615fc | 3 | #ifndef ALIL3_ConfMapPoint |
4 | #define ALIL3_ConfMapPoint | |
5 | ||
6 | #include "AliL3RootTypes.h" | |
7 | ||
8 | class AliL3SpacePointData; | |
9 | class AliL3ConfMapTrack; | |
10 | class AliL3Vertex; | |
11 | ||
12 | class AliL3ConfMapPoint { | |
13 | ||
14 | private: | |
15 | ||
16 | Int_t fHitNumber; | |
17 | Int_t fTrackNumber; | |
18 | Int_t fNextHitNumber; | |
19 | Bool_t fUsed; | |
02f030e3 | 20 | Int_t fPadrow; |
108615fc | 21 | Int_t fSector; |
22 | ||
23 | //global coordinates and their errors | |
24 | Double_t x; | |
25 | Double_t y; | |
26 | Double_t z; | |
27 | Double_t xerr; | |
28 | Double_t yerr; | |
29 | Double_t zerr; | |
30 | ||
31 | Double_t fWxy; // x-y weight on x-y | |
32 | Double_t fWz; // z weight on z | |
33 | Float_t s; //track trajectory | |
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 | ||
02f030e3 | 66 | static Bool_t fDontMap; //flag to switch off mapping |
67 | ||
108615fc | 68 | public: |
69 | ||
70 | AliL3ConfMapPoint(); | |
71 | virtual ~AliL3ConfMapPoint(); | |
355debe1 | 72 | |
73 | void Reset(); | |
108615fc | 74 | Bool_t ReadHits(AliL3SpacePointData* hits ); //! |
355debe1 | 75 | |
108615fc | 76 | AliL3ConfMapPoint *nextVolumeHit; //! |
77 | AliL3ConfMapPoint *nextRowHit; //! | |
78 | ||
79 | AliL3ConfMapPoint *nextTrackHit; //! Linked chain of points in a track | |
80 | Short_t phiIndex; | |
81 | Short_t etaIndex; | |
82 | ||
83 | Double_t xyChi2; | |
84 | Double_t szChi2; | |
85 | Int_t fMCTrackID[3]; //MClabel of tracks, may overlap | |
86 | ||
87 | // getter | |
88 | Double_t GetX() const {return x;} | |
89 | Double_t GetY() const {return y;} | |
90 | Double_t GetZ() const {return z;} | |
91 | Double_t GetXerr() const {return xerr;} | |
92 | Double_t GetYerr() const {return yerr;} | |
93 | Double_t GetZerr() const {return zerr;} | |
94 | Int_t GetPadRow() const {return fPadrow;} | |
95 | Int_t GetSector() const {return fSector;} | |
96 | ||
97 | Double_t GetXYWeight() const {return fWxy;} | |
98 | Double_t GetZWeight() const {return fWz;} | |
99 | Float_t GetS() const {return s;} | |
100 | ||
101 | //AliL3ConfMapTrack *GetTrack(TClonesArray *tracks) const; | |
102 | ||
103 | Bool_t GetUsage() const {return fUsed;} | |
02f030e3 | 104 | Double_t GetPhi() const {return fPhi;} |
105 | Double_t GetEta() const {return fEta;} | |
106 | ||
107 | Double_t GetXprime() const {return fXprime;} | |
108 | Double_t GetYprime() const {return fYprime;} | |
109 | Double_t GetXprimeerr() const {return fXprimeerr;} | |
110 | Double_t GetYprimeerr() const {return fYprimeerr;} | |
111 | ||
112 | Double_t GetXt() const { return fXt; } | |
113 | Double_t GetYt() const { return fYt; } | |
114 | Double_t GetZt() const { return fZt; } | |
115 | Double_t GetXterr() const { return fXterr; } | |
116 | Double_t GetYterr() const { return fYterr; } | |
117 | Double_t GetZterr() const { return fZterr; } | |
118 | ||
119 | Double_t GetXv() const { return fXv; } | |
120 | Double_t GetYv() const { return fYv; } | |
121 | Double_t GetZv() const { return fZv; } | |
122 | Double_t GetXverr() const { return fXverr; } | |
123 | Double_t GetYverr() const { return fYverr; } | |
124 | Double_t GetZverr() const { return fZverr; } | |
108615fc | 125 | |
126 | Int_t GetHitNumber() const {return fHitNumber;} | |
127 | Int_t GetNextHitNumber() const {return fNextHitNumber;} | |
128 | Int_t GetTrackNumber() const {return fTrackNumber;} | |
129 | // Int_t const *GetMCTrackID() const {return fMCTrackID;} | |
355debe1 | 130 | |
108615fc | 131 | // setter |
02f030e3 | 132 | static void SetDontMap(Bool_t b){fDontMap=b;} |
133 | ||
108615fc | 134 | void SetX(Double_t f) {x=f;} |
135 | void SetY(Double_t f) {y=f;} | |
136 | void SetZ(Double_t f) {z=f;} | |
137 | void SetXerr(Double_t f) {xerr=f;} | |
138 | void SetYerr(Double_t f) {yerr=f;} | |
139 | void SetZerr(Double_t f) {zerr=f;} | |
140 | void SetPadRow(Int_t f) {fPadrow=f;} | |
141 | void SetSector(Int_t f) {fSector=f;} | |
142 | void SetMCTrackID(Int_t f,Int_t g,Int_t h) {fMCTrackID[0] = f; fMCTrackID[1]=g; fMCTrackID[2]=h;} | |
143 | ||
144 | void SetXYWeight(Float_t f) {fWxy = f;} | |
145 | void SetZWeight(Float_t f) {fWz = f;} | |
146 | void SetS(Float_t f) {s = f;} | |
147 | ||
148 | void SetUsage(Bool_t f) {fUsed=f;} | |
149 | ||
02f030e3 | 150 | void SetPhi(Double_t f) { fPhi = f; } |
151 | void SetEta(Double_t f) { fEta = f; } | |
152 | ||
153 | void SetXprime(Double_t f) { fXprime = f; } | |
154 | void SetYprime(Double_t f) { fYprime = f; } | |
155 | void SetXprimeerr(Double_t f) { fXprimeerr = f; } | |
156 | void SetYprimeerr(Double_t f) { fYprimeerr = f; } | |
157 | ||
158 | void SetXt(Double_t f) { fXt = f; } | |
159 | void SetYt(Double_t f) { fYt = f; } | |
160 | void SetZt(Double_t f) { fZt = f; } | |
161 | void SetXterr(Double_t f) { fXterr = f; } | |
162 | void SetYterr(Double_t f) { fYterr = f; } | |
163 | void SetZterr(Double_t f) { fZterr = f; } | |
164 | ||
165 | void SetXv(Double_t f) { fXv = f; } | |
166 | void SetYv(Double_t f) { fYv = f; } | |
167 | void SetZv(Double_t f) { fZv = f; } | |
168 | void SetXverr(Double_t f) { fXverr = f; } | |
169 | void SetYverr(Double_t f) { fYverr = f; } | |
170 | void SetZverr(Double_t f) { fZverr = f; } | |
171 | ||
172 | void SetHitNumber(Int_t f) {fHitNumber=f;} | |
173 | void SetTrackNumber(Int_t f) {fTrackNumber=f;} | |
174 | void SetNextHitNumber(Int_t f) {fNextHitNumber=f;} | |
175 | ||
176 | void Setup(AliL3Vertex *vertex);// does the usual setup in the right order | |
177 | void SetAngles();// calculate spherical angles and set values | |
178 | void SetIntPoint(const Double_t in_x = 0.,const Double_t in_y = 0., | |
179 | const Double_t in_z = 0.,const Double_t in_x_err = 0., | |
180 | const Double_t in_y_err = 0., const Double_t in_z_err = 0.); | |
108615fc | 181 | //-> set interaction point |
02f030e3 | 182 | void SetShiftedCoord();// set shifted coordinates |
183 | void SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit | |
184 | void SetConfCoord();// conformal mapping | |
185 | ||
b661165c | 186 | ClassDef(AliL3ConfMapPoint, 1) //Conformal mapping hit class. |
108615fc | 187 | }; |
188 | ||
189 | #endif |