]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ConfMapPoint.h
Code violations.
[u/mrichter/AliRoot.git] / HLT / src / AliL3ConfMapPoint.h
CommitLineData
3e87ef69 1// @(#) $Id$
2
47e75a3e 3#ifndef ALIL3ConfMapPointH
4#define ALIL3ConfMapPointH
108615fc 5
6#include "AliL3RootTypes.h"
7
8class AliL3SpacePointData;
9class AliL3ConfMapTrack;
10class AliL3Vertex;
11
12class 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