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