]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCConfMapPoint.h
- configure adapted to the new directory structure of the HOMER module in PubSub
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCConfMapPoint.h
CommitLineData
a6c02c85 1// @(#) $Id$
c2f37813 2// Original: AliL3ConfMapPoint.h,v 1.8 2005/06/23 17:46:55 hristov
a6c02c85 3
4#ifndef ALIHLTTPCConfMapPointH
5#define ALIHLTTPCConfMapPointH
6
7#include "AliHLTTPCRootTypes.h"
8
9class AliHLTTPCSpacePointData;
10class AliHLTTPCConfMapTrack;
11class AliHLTTPCVertex;
12
13class AliHLTTPCConfMapPoint {
14
15 private:
16
17 Int_t fHitNumber; //hit number
18 Int_t fTrackNumber; //track number
19 Int_t fNextHitNumber; //next hit number
20 Bool_t fUsed; //flag is used
21 Int_t fPadrow; //padrow
22 Int_t fSector; //sector
23
24 //global coordinates and their errors
25 Double_t fx; //glob x
26 Double_t fy; //glob y
27 Double_t fz; //glob z
28 Double_t fxerr; //glob xerr
29 Double_t fyerr; //glob yerr
30 Double_t fzerr; //glob zerr
31
32 Double_t fWxy; // x-y weight on x-y
33 Double_t fWz; // z weight on z
34 Float_t fs; //track trajectory
35
36 // Interaction point
37 Double_t fXt; // x-value of the interaction point
38 Double_t fYt; // y-value of the interaction point
39 Double_t fZt; // z-value of the interaction point
40
41 Double_t fXterr; // error of mXt
42 Double_t fYterr; // error of mYt
43 Double_t fZterr; // error of mZt
44
45 // conformal mapping coordinates
46 Double_t fXprime; // transformed x
47 Double_t fYprime; // transformed y
48
49 Double_t fXprimeerr; // error of mXprime
50 Double_t fYprimeerr; // error of mYprime
51
52 // coordinates with respect to the vertex
53
54 // cartesian coordinates
55 Double_t fXv; // x with respect to vertex
56 Double_t fYv; // y with respect to vertex
57 Double_t fZv; // z with respect to vertex
58
59 Double_t fXverr; // error of mXv
60 Double_t fYverr; // error of mYv
61 Double_t fZverr; // error of mZv
62
63 // spherical coordinates
64 Double_t fPhi; // angle phi
65 Double_t fEta; // pseudorapidity
66
67 AliHLTTPCConfMapPoint *fNextVolumeHit; //!
68 AliHLTTPCConfMapPoint *fNextRowHit; //!
69 AliHLTTPCConfMapPoint *fNextTrackHit; //! Linked chain of points in a track
70 Short_t fPhiIndex; //phi index
71 Short_t fEtaIndex; //eta index
72 Double_t fXYChi2; //xy chi
73 Double_t fSZChi2; //z chi
74 Int_t fMCTrackID[3]; //MClabel of tracks, may overlap
75
76 static Bool_t fgDontMap; //flag to switch off mapping
77
78 public:
79
80 AliHLTTPCConfMapPoint();
81 virtual ~AliHLTTPCConfMapPoint();
82
83 void Reset();
84 Bool_t ReadHits(AliHLTTPCSpacePointData* hits );
85
86 // getter
87 Double_t GetX() const {return fx;}
88 Double_t GetY() const {return fy;}
89 Double_t GetZ() const {return fz;}
90 Double_t GetXerr() const {return fxerr;}
91 Double_t GetYerr() const {return fyerr;}
92 Double_t GetZerr() const {return fzerr;}
93 Int_t GetPadRow() const {return fPadrow;}
94 Int_t GetSector() const {return fSector;}
95
96 Double_t GetXYWeight() const {return fWxy;}
97 Double_t GetZWeight() const {return fWz;}
98 Float_t GetS() const {return fs;}
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;}
127
128 AliHLTTPCConfMapPoint* GetNextVolumeHit(){return fNextVolumeHit;}
129 AliHLTTPCConfMapPoint* GetNextRowHit(){return fNextRowHit;}
130 AliHLTTPCConfMapPoint* GetNextTrackHit(){return fNextTrackHit;}
131 Short_t GetPhiIndex() const {return fPhiIndex;}
132 Short_t GetEtaIndex() const {return fEtaIndex;}
133 Double_t GetXYChi2() const {return fXYChi2;}
134 Double_t GetSZChi2() const {return fSZChi2;}
135 //Int_t fMCTrackID[3]; //MClabel of tracks, may overlap
136
137 // setter
138 void SetNextVolumeHit(AliHLTTPCConfMapPoint* p){fNextVolumeHit=p;}
139 void SetNextRowHit(AliHLTTPCConfMapPoint* p){fNextRowHit=p;}
140 void SetNextTrackHit(AliHLTTPCConfMapPoint* p){fNextTrackHit=p;}
141
142 void SetPhiIndex(Short_t p){fPhiIndex=p;}
143 void SetEtaIndex(Short_t p){fEtaIndex=p;}
144 void SetXYChi2(Double_t d) {fXYChi2=d;}
145 void SetSZChi2(Double_t d) {fSZChi2=d;}
146
147 static void SetDontMap(Bool_t b){fgDontMap=b;}
148
149 void SetX(Double_t f){fx=f;}
150 void SetY(Double_t f){fy=f;}
151 void SetZ(Double_t f){fz=f;}
152 void SetXerr(Double_t f){fxerr=f;}
153 void SetYerr(Double_t f){fyerr=f;}
154 void SetZerr(Double_t f){fzerr=f;}
155 void SetPadRow(Int_t f){fPadrow=f;}
156 void SetSector(Int_t f){fSector=f;}
157 void SetMCTrackID(Int_t f,Int_t g,Int_t h){fMCTrackID[0] = f; fMCTrackID[1]=g; fMCTrackID[2]=h;}
158
159 void SetXYWeight(Float_t f){fWxy = f;}
160 void SetZWeight(Float_t f){fWz = f;}
161 void SetS(Float_t f){fs = f;}
162 void SetUsage(Bool_t f){fUsed=f;}
163 void SetPhi(Double_t f ){fPhi = f;}
164 void SetEta(Double_t f){fEta = f;}
165 void SetXprime(Double_t f){fXprime = f;}
166 void SetYprime(Double_t f){fYprime = f;}
167 void SetXprimeerr(Double_t f){fXprimeerr = f;}
168 void SetYprimeerr(Double_t f){fYprimeerr = f;}
169 void SetXt(Double_t f){fXt = f;}
170 void SetYt(Double_t f){fYt = f;}
171 void SetZt(Double_t f){fZt = f;}
172 void SetXterr(Double_t f){fXterr = f;}
173 void SetYterr(Double_t f){fYterr = f;}
174 void SetZterr(Double_t f){fZterr = f;}
175 void SetXv(Double_t f){fXv = f;}
176 void SetYv(Double_t f){fYv = f;}
177 void SetZv(Double_t f){fZv = f;}
178 void SetXverr(Double_t f){fXverr = f;}
179 void SetYverr(Double_t f){fYverr = f;}
180 void SetZverr(Double_t f){fZverr = f;}
181 void SetHitNumber(Int_t f){fHitNumber=f;}
182 void SetTrackNumber(Int_t f){fTrackNumber=f;}
183 void SetNextHitNumber(Int_t f){fNextHitNumber=f;}
184
185 void Setup(AliHLTTPCVertex *vertex);// does the usual setup in the right order
186 void SetAngles(); // calculate spherical angles and set values
187 void SetIntPoint(Double_t inx = 0., Double_t iny = 0.,
188 Double_t inz = 0., Double_t inxerr = 0.,
189 Double_t inyerr = 0., Double_t inzerr = 0.);
190 //-> set interaction point
191 void SetShiftedCoord();// set shifted coordinates
192 void SetAllCoord(const AliHLTTPCConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
193 void SetConfCoord();// conformal mapping
194
195 ClassDef(AliHLTTPCConfMapPoint, 1) //Conformal mapping hit class.
196};
197
198#endif