]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliL3ConfMapPoint.h
Addons for html documentation
[u/mrichter/AliRoot.git] / HLT / src / AliL3ConfMapPoint.h
1 #ifndef ALIL3_ConfMapPoint
2 #define ALIL3_ConfMapPoint
3
4 #include "AliL3RootTypes.h"
5
6 class AliL3SpacePointData;
7 class AliL3ConfMapTrack;
8 class AliL3Vertex;
9
10 class 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