1 #ifndef ALIL3_ConfMapPoint
2 #define ALIL3_ConfMapPoint
4 #include "AliL3RootTypes.h"
6 class AliL3SpacePointData;
7 class AliL3ConfMapTrack;
10 class AliL3ConfMapPoint {
22 //global coordinates and their errors
30 Double_t fWxy; // x-y weight on x-y
31 Double_t fWz; // z weight on z
32 Float_t s; //track trajectory
35 Double_t fXt; // x-value of the interaction point
36 Double_t fYt; // y-value of the interaction point
37 Double_t fZt; // z-value of the interaction point
39 Double_t fXterr; // error of mXt
40 Double_t fYterr; // error of mYt
41 Double_t fZterr; // error of mZt
43 // conformal mapping coordinates
44 Double_t fXprime; // transformed x
45 Double_t fYprime; // transformed y
47 Double_t fXprimeerr; // error of mXprime
48 Double_t fYprimeerr; // error of mYprime
50 // coordinates with respect to the vertex
52 // cartesian coordinates
53 Double_t fXv; // x with respect to vertex
54 Double_t fYv; // y with respect to vertex
55 Double_t fZv; // z with respect to vertex
57 Double_t fXverr; // error of mXv
58 Double_t fYverr; // error of mYv
59 Double_t fZverr; // error of mZv
61 // spherical coordinates
62 Double_t fPhi; // angle phi
63 Double_t fEta; // pseudorapidity
69 virtual ~AliL3ConfMapPoint();
71 Bool_t ReadHits(AliL3SpacePointData* hits ); //!
73 AliL3ConfMapPoint *nextVolumeHit; //!
74 AliL3ConfMapPoint *nextRowHit; //!
76 AliL3ConfMapPoint *nextTrackHit; //! Linked chain of points in a track
82 Int_t fMCTrackID[3]; //MClabel of tracks, may overlap
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;}
94 Double_t GetXYWeight() const {return fWxy;}
95 Double_t GetZWeight() const {return fWz;}
96 Float_t GetS() const {return s;}
98 //AliL3ConfMapTrack *GetTrack(TClonesArray *tracks) const;
100 Bool_t GetUsage() const {return fUsed;}
101 Double_t GetPhi() const { return fPhi; }
102 Double_t GetEta() const { return fEta; }
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; }
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; }
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; }
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;}
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;}
139 void SetXYWeight(Float_t f) {fWxy = f;}
140 void SetZWeight(Float_t f) {fWz = f;}
141 void SetS(Float_t f) {s = f;}
143 void SetUsage(Bool_t f) {fUsed=f;}
145 void SetPhi(Double_t f) { fPhi = f; }
146 void SetEta(Double_t f) { fEta = f; }
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; }
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; }
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; }
167 void SetHitNumber(Int_t f) {fHitNumber=f;}
168 void SetTrackNumber(Int_t f) {fTrackNumber=f;}
169 void SetNextHitNumber(Int_t f) {fNextHitNumber=f;}
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
181 ClassDef(AliL3ConfMapPoint, 1) //Conformal mapping hit class.