]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSIOTrack.h
Added macro for visualization of the TOF ROOT geometry
[u/mrichter/AliRoot.git] / ITS / AliITSIOTrack.h
1 #ifndef ALIITSIOTRACK_H
2 #define ALIITSIOTRACK_H 
3
4 ////////////////////////////////////////////////////
5 //  Reconstructed space point class for set:ITS   //
6 ////////////////////////////////////////////////////
7
8 #include <TObject.h>
9
10 class TMatrix;
11 class AliITSIOTrack : public TObject {
12
13
14  public:
15
16   AliITSIOTrack();                        // constructor
17   virtual ~AliITSIOTrack() {};            // distructor
18   Int_t   GetLabel() const {return fLab;} // get track label
19   Int_t   GetTPCLabel() const {return fTPCLab;} // get TPC track label   
20   Int_t   GetIdPoint(Int_t i) const {return fIdPoints[i];}   // get the identification number for the point
21   Int_t   GetIdModule(Int_t i) const {return fIdModules[i];} // get the module number for the point
22
23  void GetCovMatrix(Double_t &C00, Double_t &C10, Double_t &C11, Double_t &C20,
24                    Double_t &C21, Double_t &C22, Double_t &C30, Double_t &C31,
25                    Double_t &C32, Double_t &C33, Double_t &C40, Double_t &C41,
26                    Double_t &C42, Double_t &C43, Double_t &C44) const;
27   Double_t GetStatePhi() const {return fStateVPhi;}  // gets the Phi angle of the state vector
28   Double_t GetStateZ() const {return fStateVZ;}      // gets the Z cohordinate of the state vector
29   Double_t GetStateD() const {return fStateVD;}      // gets the radial impact parameter of the state vector
30   Double_t GetStateC() const {return fStateVC;}      // gets the curvature C of the state vector
31   Double_t GetStateTgl() const {return fStateVTgl;}  // gets the dip angle tangent of the state vector
32   Double_t GetRadius() const {return fRadius;}       // gets the radius corresponding to the state vector
33   Int_t     GetCharge() const {return fCharge;}      // gets the particle charge
34   Float_t GetX() const {return fX;}     // gets the x cohordinate of the track point nearest to primary vertex
35   Float_t GetZ() const {return fZ;}     // gets the z cohordinate of the track point nearest to primary vertex
36   Float_t GetY() const {return fY;}     // gets the y cohordinate of the track point nearest to primary vertex
37   Float_t GetPx() const {return fPx;}   // gets the x momentum component at the fX,fY,fZ point  
38   Float_t GetPy() const {return fPy;}   // gets the y momentum component at the fX,fY,fZ point  
39   Float_t GetPz() const {return fPz;}    // gets the z momentum component at the fX,fY,fZ point  
40   Double_t GetDz() const {return fDz;}   // gets the longitudinal impact parameter
41   
42   void SetCovMatrix(Double_t C00, Double_t C10, Double_t C11, Double_t C20, Double_t C21, 
43        Double_t C22, Double_t C30, Double_t C31, Double_t C32, Double_t C33, Double_t C40, 
44        Double_t C41, Double_t C42, Double_t C43, Double_t C44);
45   
46   void SetLabel(Int_t lab) {fLab=lab;}  // sets the track label
47   void SetTPCLabel(Int_t lab) {fTPCLab=lab;}  // sets the TPC track label    
48   void SetIdPoint(Int_t i,Int_t pnt) {fIdPoints[i]=pnt;}   // set the identification number for the point
49   void SetIdModule(Int_t i,Int_t mod) {fIdModules[i]=mod;} // set the module number for the point
50    
51   void SetStatePhi(Double_t phi) {fStateVPhi=phi;}   // sets the Phi angle of the state vector 
52   void SetStateZ(Double_t z) {fStateVZ=z;}           // sets the Z cohordinate of the state vector
53   void SetStateD(Double_t d) {fStateVD=d;}           // sets the radial impact parameter of the state vector 
54   void SetStateTgl(Double_t tgl) {fStateVTgl=tgl;}   // sets the dip angle tangent of the state vector
55   void SetStateC(Double_t c) {fStateVC=c;}           // sets the curvature C of the state vector
56   void SetRadius(Double_t r) {fRadius= r;}           // sets the radius corresponding to the state vector
57   void SetCharge(Int_t charge) {fCharge=charge;}     // sets the particle charge
58
59   void SetX(Float_t x){fX=x;}        // sets the x position of the track point nearest to primary vertex
60   void SetZ(Float_t z){fZ=z;}        // sets the z position of the track point nearest to primary vertex
61   void SetY(Float_t y){fY=y;}        // sets the y position of the track point nearest to primary vertex
62   void SetPx(Float_t px) {fPx=px;}   // sets the x momentum component at the fX,fY,fZ point 
63   void SetPy(Float_t py) {fPy=py;}   // sets the y momentum component at the fX,fY,fZ point
64   void SetPz(Float_t pz) {fPz=pz;}   // sets the z momentum component at the fX,fY,fZ point
65   void SetDz(Double_t dz) {fDz=dz;}  //sets the longitudinal impact parameter
66
67  private:
68     
69   Int_t     fLab;       // label of reconstructed track
70   Int_t     fTPCLab;       // label of TPC track  
71   Float_t   fX ;        // x cohordinate of the track point nearest to primary vertex
72   Float_t   fY ;        // y cohordinate of the track point nearest to primary vertex
73   Float_t   fZ ;        // z cohordinate of the track point nearest to primary vertex
74   Float_t   fPx;        // x component of track momentum at the fX,fY,fZ point 
75   Float_t   fPy;        // y component of track momentum at the fX,fY,fZ point 
76   Float_t   fPz;        // z component of track momentum at the fX,fY,fZ point 
77
78    
79   //
80   Int_t     fIdPoints[6];   // points assigned to the track (entry # in fRecPoints is given by module #)
81   Int_t     fIdModules[6];  // module # corresponding to each point belonging to the track
82
83   Double_t  fStateVPhi;          //  state vector component Phi to beam pipe
84   Double_t  fStateVZ;            //  state vector component Z   to beam pipe
85   Double_t  fStateVD;            //  state vector component D
86   Double_t  fStateVTgl;          //  state vector component Tgl
87   Double_t  fStateVC;            //  state vector component C
88          
89   Double_t  fRadius;             //  distance of the point from the origin
90   Int_t     fCharge;             //  particle charge 
91   
92   Double_t  fDz;                  //longitudinal impact parameter 
93
94 //  Covariance matrix
95   Double_t  fC00;                                   // first row elements of the covariance matrix
96   Double_t  fC10, fC11;                             // second row elements of the covariance matrix
97   Double_t  fC20, fC21, fC22;                       // third row elements of the covariance matrix 
98   Double_t  fC30, fC31, fC32, fC33;                 // fourth row elements of the covariance matrix
99   Double_t  fC40, fC41, fC42, fC43, fC44;           // fiveth row elements of the covariance matrix 
100          
101   ClassDef(AliITSIOTrack,1)  // AliITSIOTrack class
102 };
103
104 #endif