]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFT0v1.h
Fixing CONSTANT_EXPRESSION_RESULT Coverity defect
[u/mrichter/AliRoot.git] / TOF / AliTOFT0v1.h
1 #ifndef ALITOFT0V1_H
2 #define ALITOFT0V1_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //----------------------------------------------------------------------------//
8 //                                                                            //
9 //   Description: class to performe an event time measurment with TOF.        //
10 //                                                                            //
11 //----------------------------------------------------------------------------//
12
13 #include "TObject.h"
14
15 #include "TObjArray.h"
16
17 class AliESDtrack;
18 class AliESDEvent;
19 class AliESDpid;
20
21 class TObjArray;
22
23 class AliTOFT0v1: public TObject {
24 public:
25   
26   AliTOFT0v1(AliESDpid *extPID=NULL); // default constructor
27   AliTOFT0v1(AliESDEvent *event,AliESDpid *extPID=NULL); // overloaded constructor
28   virtual ~AliTOFT0v1() ; // dtor
29  
30   Double_t* DefineT0(Option_t *option); 
31   Double_t* DefineT0(Option_t *option,Float_t pMinCut,Float_t pMaxCut=1.5); 
32     
33   void          SetMomBounds(Float_t pLow, Float_t pUp) { fLowerMomBound=pLow; fUpperMomBound=pUp;} // momenta are expressed in [GeV/c]
34   void          SetTimeCorr(Float_t timecorr) {fTimeCorr=timecorr;} //in ns!!!
35   Float_t       GetMomError(Int_t index, Float_t mom, Float_t texp) const;
36   Double_t GetResult(Int_t i){if(i < 6) return fT0SigmaT0def[i]; else return -1.;};
37 /*   void  Print(Option_t* option) const ; */
38
39   void   SetTimeResolution(Float_t /* timeres */){}; // obsolete
40
41   void Init(AliESDEvent *event); // init
42
43  private:
44
45   Float_t ToCalculatePower(Float_t base, Int_t exponent) const ;
46   Int_t   ToCalculatePower(Int_t base, Int_t exponent) const ;
47
48   AliTOFT0v1(const AliTOFT0v1 &);
49   AliTOFT0v1 & operator=(const AliTOFT0v1 &) ;
50
51   Bool_t AcceptTrack(AliESDtrack *track); /* accept track */
52   Float_t GetSigmaToVertex(AliESDtrack *track) const; /* get sigma to vertex */
53   Bool_t CheckTPCMatching(AliESDtrack *track,Int_t imass) const;
54
55   Float_t fLowerMomBound;   // momentum lower bound for selected primary tracks   
56   Float_t fUpperMomBound;   // momentum upper bound for selected primary tracks 
57   Float_t fTimeCorr;  // global time resolution used to calculate T0
58   AliESDEvent* fEvent;      //evento per il quale si vuole calcolare il T0
59   Double_t fT0SigmaT0def[6]; // array with the event information ([0]=event time -- [1] = sigma -- [2] = tracks on the TOF -- [3] = tracks used for the event time)
60   
61   AliESDpid *fPIDesd; // class with the detector response
62
63   TObjArray *fTracks;   //! array of tracks
64   TObjArray *fGTracks;  //! array of good tracks
65   TObjArray *fTracksT0; //! array of tracks usefull for T0 estimate
66
67   ClassDef(AliTOFT0v1,4);  // Calculate the time zero using TOF detector */
68   
69 };
70
71 #endif