]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFTrackV2.h
Some updates to handle correctly the Geant4 env flags
[u/mrichter/AliRoot.git] / TOF / AliTOFTrackV2.h
1 #ifndef ALITOFTRACKV2_H
2 #define ALITOFTRACKV2_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //////////////////////////////////////////////////////////////
7 //  TOF Reconstructed track
8 //  AliTOFTrackV2  class                        
9 //  (see implementation file for details)
10 //                               
11 //-- Author: F. Pierella
12 /////////////////////////////////////////////////////////////
13
14
15 #include "TObject.h"
16
17 //_______________________________________________________
18 class AliTOFTrackV2 : public TObject{
19
20  public:
21   AliTOFTrackV2();
22   AliTOFTrackV2(Int_t trackLabel, Int_t matchingStatus, Float_t tpcMom, Float_t dEdX, Float_t* tpcXYZ, Float_t* tpcPtPz, Float_t* trdXYZ, Float_t* trdPxPyPz);
23   ~AliTOFTrackV2(){};
24
25   void UpdateTrack(Int_t tofDigitTrackLabel, Int_t matching, Float_t tof);
26   void UpdateTrack(Int_t pdgCode, Float_t trackLength);
27
28   void SetTrackLabel(Int_t trackLabel)                   {fTrackLabel=trackLabel;}   
29   void SetTOFDigitTrackLabel(Int_t tofDigitTrackLabel)   {fTOFDigitTrackLabel=tofDigitTrackLabel;}
30   void SetPTPC(Float_t tpcMom)                           {fPTPC=tpcMom;}
31   void SetPdgCode(Int_t pdgCode)                         {fPdgCode=pdgCode;}   
32   void SetdEdX(Float_t dEdX)                             {fdEdX=dEdX;} 
33   void SetxTPC(Float_t xTPC)                             {fxTPC=xTPC;}
34   void SetyTPC(Float_t yTPC)                             {fyTPC=yTPC;}
35   void SetzTPC(Float_t zTPC)                             {fzTPC=zTPC;}
36   void SetPtTPC(Float_t ptTPC)                           {fPtTPC=ptTPC;}
37   void SetPzTPC(Float_t pzTPC)                           {fPzTPC=pzTPC;}
38   void SetxTRD(Float_t xTRD)                             {fxTRD=xTRD;}
39   void SetyTRD(Float_t yTRD)                             {fyTRD=yTRD;}
40   void SetzTRD(Float_t zTRD)                             {fzTRD=zTRD;}
41   void SetPxTRD(Float_t pxTRD)                           {fPxTRD=pxTRD;}
42   void SetPyTRD(Float_t pyTRD)                           {fPyTRD=pyTRD;}
43   void SetPzTRD(Float_t pzTRD)                           {fPzTRD=pzTRD;}
44   void SetMatchingStatus(Int_t matching)                 {fMatchingStatus=matching;}
45   void SetLength(Float_t length)                         {fLength=length;}
46   void SetTof(Float_t tof)                               {fTof=tof;}
47   void SetMassTOF(Float_t massTOF)                       {fMassTOF=massTOF;}
48   
49
50   Int_t    GetTrackLabel()         const {return fTrackLabel;}
51   Int_t    GetTOFDigitTrackLabel() const {return fTOFDigitTrackLabel;}
52   Float_t  GetPTPC()               const {return fPTPC;}
53   Int_t    GetPdgCode()            const {return fPdgCode;}
54   Float_t  GetdEdX()               const {return fdEdX;}
55   Float_t  GetxTPC()               const {return fxTPC;}
56   Float_t  GetyTPC()               const {return fyTPC;}
57   Float_t  GetzTPC()               const {return fzTPC;}
58   Float_t  GetPtTPC()              const {return fPtTPC;}
59   Float_t  GetPzTPC()              const {return fPzTPC;}
60   Float_t  GetxTRD()               const {return fxTRD;}
61   Float_t  GetyTRD()               const {return fyTRD;}
62   Float_t  GetzTRD()               const {return fzTRD;}
63   Float_t  GetPxTRD()              const {return fPxTRD;}
64   Float_t  GetPyTRD()              const {return fPyTRD;}
65   Float_t  GetPzTRD()              const {return fPzTRD;}
66   Int_t    GetMatchingStatus()     const {return fMatchingStatus;}
67   Float_t  GetLength()             const {return fLength;}
68   Float_t  GetTof()                const {return fTof;}
69   Float_t  GetMassTOF()            const {return fMassTOF;}
70   
71  private:
72   Int_t    fTrackLabel;         // track label (rt->GetLabel()) as coming from TPC reconstruction
73   Int_t    fTOFDigitTrackLabel; // track label stored into the TOF digit
74                                 // assigned to the track
75   Float_t  fPTPC;      // momentum as given by reconstruction in TPC
76   Int_t    fPdgCode;   // PDG code of the particle (for MC events)
77   Float_t  fdEdX;      // total amount of loss energy in TPC and ITS
78   Float_t  fxTPC;      // x-coordinate on TPC
79   Float_t  fyTPC;      // y-coordinate on TPC
80   Float_t  fzTPC;      // z-coordinate on TPC
81   Float_t  fPtTPC;     // pt at the end of TPC
82   Float_t  fPzTPC;     // pz-momentum at the end of TPC
83   Float_t  fxTRD;      // x-coordinate on the last layer of TRD
84   Float_t  fyTRD;      // y-coordinate on the last layer of TRD
85   Float_t  fzTRD;      // y-coordinate on the last layer of TRD
86   Float_t  fPxTRD;     // x-momentum at the end of TRD
87   Float_t  fPyTRD;     // y-momentum at the end of TRD
88   Float_t  fPzTRD;     // z-momentum at the end of TRD
89   Int_t    fMatchingStatus; // matching status (not only for MC events)
90                             // see details in the implementation file
91   Float_t  fLength  ; // Track length [cm] from the origin to the TOF [cm]
92   Float_t  fTof;      // Time [ns] determined by the TOF digit assigned to the track
93   Float_t  fMassTOF;  // Mass [GeV] determined by fTOF,fLength, and reconstructed momentum in TPC
94
95   ClassDef(AliTOFTrackV2,1)   // TOF Reconstructed track
96 };
97
98 #endif /* ALITOFTRACKV2_H */