]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ConfMapPoint.h
Added virtual function Init for setting the slice, patch and n_eta_seg information...
[u/mrichter/AliRoot.git] / HLT / src / AliL3ConfMapPoint.h
CommitLineData
108615fc 1#ifndef ALIL3_ConfMapPoint
2#define ALIL3_ConfMapPoint
3
4#include "AliL3RootTypes.h"
5
6class AliL3SpacePointData;
7class AliL3ConfMapTrack;
8class AliL3Vertex;
9
10class 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