]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3ConfMapPoint.h
Added missing files and defines, compilation should now work again.
[u/mrichter/AliRoot.git] / HLT / src / AliL3ConfMapPoint.h
1 // @(#) $Id$
2
3 #ifndef ALIL3_ConfMapPoint
4 #define ALIL3_ConfMapPoint
5
6 #include "AliL3RootTypes.h"
7
8 class AliL3SpacePointData;
9 class AliL3ConfMapTrack;
10 class AliL3Vertex;
11
12 class AliL3ConfMapPoint {
13
14  private:
15
16   Int_t fHitNumber;
17   Int_t fTrackNumber;
18   Int_t fNextHitNumber;
19   Bool_t fUsed;
20   Int_t fPadrow;
21   Int_t fSector;
22
23   //global coordinates and their errors
24   Double_t x;
25   Double_t y;
26   Double_t z;
27   Double_t xerr;
28   Double_t yerr;
29   Double_t zerr;
30
31   Double_t fWxy;  // x-y weight on x-y
32   Double_t fWz;   // z weight on z
33   Float_t s;     //track trajectory
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   
66   static Bool_t fDontMap; //flag to switch off mapping  
67
68  public:
69
70   AliL3ConfMapPoint();
71   virtual ~AliL3ConfMapPoint();
72   
73   void Reset();
74   Bool_t ReadHits(AliL3SpacePointData* hits ); //!
75   
76   AliL3ConfMapPoint *nextVolumeHit; //!
77   AliL3ConfMapPoint *nextRowHit;  //!
78   
79   AliL3ConfMapPoint *nextTrackHit; //! Linked chain of points in a track
80   Short_t phiIndex;
81   Short_t etaIndex;
82  
83   Double_t xyChi2;
84   Double_t szChi2;
85   Int_t fMCTrackID[3]; //MClabel of tracks, may overlap
86
87    // getter
88   Double_t GetX() const {return x;}
89   Double_t GetY() const {return y;}
90   Double_t GetZ() const {return z;}
91   Double_t GetXerr() const {return xerr;}
92   Double_t GetYerr() const {return yerr;}
93   Double_t GetZerr() const {return zerr;}
94   Int_t GetPadRow() const {return fPadrow;}
95   Int_t GetSector() const {return fSector;}
96   
97   Double_t GetXYWeight() const {return fWxy;}
98   Double_t GetZWeight() const {return fWz;}
99   Float_t GetS()        const {return s;}
100
101   //AliL3ConfMapTrack *GetTrack(TClonesArray *tracks) const;
102   
103   Bool_t GetUsage() const {return fUsed;}
104   Double_t GetPhi() const {return fPhi;}
105   Double_t GetEta() const {return fEta;}
106   
107   Double_t GetXprime() const    {return fXprime;}
108   Double_t GetYprime() const    {return fYprime;}
109   Double_t GetXprimeerr() const {return fXprimeerr;}
110   Double_t GetYprimeerr() const {return fYprimeerr;}
111   
112   Double_t GetXt() const           { return fXt;         }
113   Double_t GetYt() const           { return fYt;         }
114   Double_t GetZt() const           { return fZt;         }
115   Double_t GetXterr() const        { return fXterr;      }
116   Double_t GetYterr() const        { return fYterr;      }
117   Double_t GetZterr() const        { return fZterr;      }
118   
119   Double_t GetXv() const           { return fXv;         }
120   Double_t GetYv() const           { return fYv;         }
121   Double_t GetZv() const           { return fZv;         }
122   Double_t GetXverr() const        { return fXverr;      }
123   Double_t GetYverr() const        { return fYverr;      }
124   Double_t GetZverr() const        { return fZverr;      }
125
126   Int_t GetHitNumber() const {return fHitNumber;}
127   Int_t GetNextHitNumber() const {return fNextHitNumber;}
128   Int_t GetTrackNumber() const {return fTrackNumber;}
129   //  Int_t const *GetMCTrackID()     const {return fMCTrackID;}
130   
131   // setter
132   static void SetDontMap(Bool_t b){fDontMap=b;}
133
134   void SetX(Double_t f) {x=f;}
135   void SetY(Double_t f) {y=f;}
136   void SetZ(Double_t f) {z=f;}
137   void SetXerr(Double_t f) {xerr=f;}
138   void SetYerr(Double_t f) {yerr=f;}
139   void SetZerr(Double_t f) {zerr=f;}
140   void SetPadRow(Int_t f) {fPadrow=f;}
141   void SetSector(Int_t f) {fSector=f;}
142   void SetMCTrackID(Int_t f,Int_t g,Int_t h) {fMCTrackID[0] = f; fMCTrackID[1]=g; fMCTrackID[2]=h;}
143
144   void SetXYWeight(Float_t f) {fWxy = f;}
145   void SetZWeight(Float_t f) {fWz = f;}
146   void SetS(Float_t f) {s = f;}
147
148   void SetUsage(Bool_t f) {fUsed=f;}
149     
150   void SetPhi(Double_t f)         {           fPhi = f; }
151   void SetEta(Double_t f)         {           fEta = f; }
152   
153   void SetXprime(Double_t f)      {        fXprime = f; }
154   void SetYprime(Double_t f)      {        fYprime = f; }
155   void SetXprimeerr(Double_t f)   {     fXprimeerr = f; }
156   void SetYprimeerr(Double_t f)   {     fYprimeerr = f; }
157   
158   void SetXt(Double_t f)          {            fXt = f; }
159   void SetYt(Double_t f)          {            fYt = f; }
160   void SetZt(Double_t f)          {            fZt = f; }
161   void SetXterr(Double_t f)       {         fXterr = f; }
162   void SetYterr(Double_t f)       {         fYterr = f; }
163   void SetZterr(Double_t f)       {         fZterr = f; }
164   
165   void SetXv(Double_t f)          {            fXv = f; }
166   void SetYv(Double_t f)          {            fYv = f; }
167   void SetZv(Double_t f)          {            fZv = f; }
168   void SetXverr(Double_t f)       {         fXverr = f; }
169   void SetYverr(Double_t f)       {         fYverr = f; }
170   void SetZverr(Double_t f)       {         fZverr = f; }
171   
172   void SetHitNumber(Int_t f) {fHitNumber=f;}
173   void SetTrackNumber(Int_t f) {fTrackNumber=f;}
174   void SetNextHitNumber(Int_t f) {fNextHitNumber=f;}
175
176   void Setup(AliL3Vertex *vertex);// does the usual setup in the right order
177   void SetAngles();// calculate spherical angles and set values
178   void SetIntPoint(const Double_t in_x = 0.,const Double_t in_y = 0.,
179                    const Double_t in_z = 0.,const Double_t in_x_err = 0., 
180                    const Double_t in_y_err = 0., const Double_t in_z_err = 0.);  
181   //-> set interaction point
182   void SetShiftedCoord();// set shifted coordinates  
183   void SetAllCoord(const AliL3ConfMapPoint *hit);// set conformal mapping coordinates in respect to given hit
184   void SetConfCoord();// conformal mapping
185
186   ClassDef(AliL3ConfMapPoint, 1)   //Conformal mapping hit class.
187 };
188
189 #endif