]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3ConfMapPoint.h
This commit was generated by cvs2svn to compensate for changes in r3176,
[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;
18
19 Int_t fPadrow;
20 Int_t fSector;
21
22 //global coordinates and their errors
23 Double_t x;
24 Double_t y;
25 Double_t z;
26 Double_t xerr;
27 Double_t yerr;
28 Double_t zerr;
29
30 Double_t fWxy; // x-y weight on x-y
31 Double_t fWz; // z weight on z
32 Float_t s; //track trajectory
33
34 // Interaction point
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
38
39 Double_t fXterr; // error of mXt
40 Double_t fYterr; // error of mYt
41 Double_t fZterr; // error of mZt
42
43 // conformal mapping coordinates
44 Double_t fXprime; // transformed x
45 Double_t fYprime; // transformed y
46
47 Double_t fXprimeerr; // error of mXprime
48 Double_t fYprimeerr; // error of mYprime
49
50 // coordinates with respect to the vertex
51
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
56
57 Double_t fXverr; // error of mXv
58 Double_t fYverr; // error of mYv
59 Double_t fZverr; // error of mZv
60
61 // spherical coordinates
62 Double_t fPhi; // angle phi
63 Double_t fEta; // pseudorapidity
64
65
66 public:
67
68 AliL3ConfMapPoint();
69 virtual ~AliL3ConfMapPoint();
70
71 Bool_t ReadHits(AliL3SpacePointData* hits ); //!
72
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;}
127
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
181// ClassDef(AliL3ConfMapPoint, 1) //Conformal mapping hit class.
182};
183
184#endif