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