]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSIOTrack.h
Track comparison decoupled from tracking and fixes applied to run with more than...
[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 found vertex
35   Float_t GetZ() const {return fZ;}     // gets the z cohordinate of the found vertex
36   Float_t GetY() const {return fY;}     // gets the y cohordinate of the found vertex
37   Float_t GetPx() const {return fPx;}   // gets the x momentum component at the found vertex 
38   Float_t GetPy() const {return fPy;}   // gets the y momentum component at the found vertex 
39   Float_t GetPz() const {return fPz;}    // gets the z momentum component at the found vertex 
40   Int_t GetCode() const  {return fCode;}   // gets the PDG particle code
41   Float_t GetPxg() const  {return fPxg;}   // gets the x momentum component read from Geant
42   Float_t GetPyg() const  {return fPyg;}   // gets the y momentum component read from Geant
43   Float_t GetPzg() const  {return fPzg;}   // gets the z momentum component read from Geant
44  
45   void SetCovMatrix(Double_t C00, Double_t C10, Double_t C11, Double_t C20, Double_t C21, 
46        Double_t C22, Double_t C30, Double_t C31, Double_t C32, Double_t C33, Double_t C40, 
47        Double_t C41, Double_t C42, Double_t C43, Double_t C44);
48   
49   void SetLabel(Int_t lab) {fLab=lab;}  // sets the track label
50   void SetTPCLabel(Int_t lab) {fTPCLab=lab;}  // sets the TPC track label    
51   void SetIdPoint(Int_t i,Int_t pnt) {fIdPoints[i]=pnt;}   // set the identification number for the point
52   void SetIdModule(Int_t i,Int_t mod) {fIdModules[i]=mod;} // set the module number for the point
53    
54   void SetStatePhi(Double_t phi) {fStateVPhi=phi;}   // sets the Phi angle of the state vector 
55   void SetStateZ(Double_t z) {fStateVZ=z;}           // sets the Z cohordinate of the state vector
56   void SetStateD(Double_t d) {fStateVD=d;}           // sets the radial impact parameter of the state vector 
57   void SetStateTgl(Double_t tgl) {fStateVTgl=tgl;}   // sets the dip angle tangent of the state vector
58   void SetStateC(Double_t c) {fStateVC=c;}           // sets the curvature C of the state vector
59   void SetRadius(Double_t r) {fRadius= r;}           // sets the radius corresponding to the state vector
60   void SetCharge(Int_t charge) {fCharge=charge;}     // sets the particle charge
61
62   void SetX(Float_t x){fX=x;}        // sets the x cohordinate of the found vertex
63   void SetZ(Float_t z){fZ=z;}        // sets the z cohordinate of the found vertex
64   void SetY(Float_t y){fY=y;}        // sets the y cohordinate of the found vertex
65   void SetPx(Float_t px) {fPx=px;}   // sets the x momentum component at the found vertex 
66   void SetPy(Float_t py) {fPy=py;}   // sets the y momentum component at the found vertex
67   void SetPz(Float_t pz) {fPz=pz;}   // sets the z momentum component at the found vertex
68   void SetCode(Int_t code) {fCode=code;}   // sets the PDG particle code
69   void SetPxg(Float_t pxg) {fPxg=pxg;}   // sets the x momentum component read from Geant
70   void SetPyg(Float_t pyg) {fPyg=pyg;}   // sets the y momentum component read from Geant
71   void SetPzg(Float_t pzg) {fPzg=pzg;}   // sets the z momentum component read from Geant
72   
73  private:
74     
75   Int_t     fLab;       // label of reconstructed track
76   Int_t     fTPCLab;       // label of TPC track  
77   Int_t     fCode;      // PDG particle code
78   Float_t   fX ;        // x cohordinate of the found vertex
79   Float_t   fY ;        // y cohordinate of the found vertex
80   Float_t   fZ ;        // z cohordinate of the found vertex
81   Float_t   fPx;        // x component of track momentum at the found vertex
82   Float_t   fPy;        // y component of track momentum at the found vertex
83   Float_t   fPz;        // z component of track momentum at the found vertex
84   Float_t   fPxg;        // x component of track momentum read from Geant
85   Float_t   fPyg;        // y component of track momentum read from Geant
86   Float_t   fPzg;        // z component of track momentum read from Geant
87    
88   //
89   Int_t     fIdPoints[6];   // points assigned to the track (entry # in fRecPoints is given by module #)
90   Int_t     fIdModules[6];  // module # corresponding to each point belonging to the track
91
92   Double_t  fStateVPhi;          //  state vector component Phi
93   Double_t  fStateVZ;            //  state vector component Z
94   Double_t  fStateVD;            //  state vector component D
95   Double_t  fStateVTgl;          //  state vector component Tgl
96   Double_t  fStateVC;            //  state vector component C
97          
98   Double_t  fRadius;             //  distance of the point from the origin
99   Int_t     fCharge;             //  particle charge  
100
101 //  Covariance matrix
102   Double_t  fC00;                                   // first row elements of the covariance matrix
103   Double_t  fC10, fC11;                             // second row elements of the covariance matrix
104   Double_t  fC20, fC21, fC22;                       // third row elements of the covariance matrix 
105   Double_t  fC30, fC31, fC32, fC33;                 // fourth row elements of the covariance matrix
106   Double_t  fC40, fC41, fC42, fC43, fC44;           // fiveth row elements of the covariance matrix 
107          
108   ClassDef(AliITSIOTrack,1)  // AliITSIOTrack class
109 };
110
111 #endif