27ea0226db18235a18d44f765f1db9fd22403d1f
[u/mrichter/AliRoot.git] / TOF / AliTOFT0.h
1 #ifndef ALITOFT0_H
2 #define ALITOFT0_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 //_________________________________________________________________________
8 //  Task Class for calculating the time zero of interaction using TOF      
9 //  The input file need the track length till TOF detector                 
10 //  It can be done modifyng the AliTOFvj StepManager and the AliTOFHit class
11 //  as follow 
12 //-- Author: F. Pierella
13
14
15 #include "TTask.h"
16 #include "TString.h"
17 #include "TObjString.h"
18 #include "AliTOF.h"
19 #include "AliDetector.h"
20
21 class TClonesArray;
22
23 class AliTOFT0: public TTask {
24
25 public:
26   AliTOFT0() ;          // ctor
27   AliTOFT0(char* headerFile, Int_t nEvents=0) ; 
28   AliTOFT0(const AliTOFT0 & tzero) 
29                   {( (AliTOFT0 &)tzero ).Copy(*this) ;} 
30   virtual ~AliTOFT0() ; // dtor
31   /*
32   AliTOFT0 & operator = (const AliTOFT0 & rvalue)  {
33     // assignement operator requested by coding convention but not needed
34     abort() ;
35     return *this ; 
36   }
37   */
38   const char*   GetTZeroFile() const {return fT0File.Data();}  
39   virtual void  Exec(Option_t *option); 
40   void          SetNEvents(Int_t nEvents) {fNevents = nEvents;}
41   void          SetTimeResolution(Float_t timeresolution) { fTimeResolution=timeresolution;}// timeresolution in [s] e.g. for 120 ps -> 1.2e-10
42   Int_t         GetNEvents() const {return fNevents;}
43   void          SetTZeroFile(char* file) ;
44   void          SetMomBounds(Float_t pLow, Float_t pUp) { fLowerMomBound=pLow; fUpperMomBound=pUp;} // momenta are expressed in [GeV/c]
45   virtual void  Print(Option_t* option) const ;
46   Bool_t   operator == (const AliTOFT0 & tzero) const ;
47
48 private:
49   Int_t   fNevents;         // Number of events for which calculate the T0
50   Float_t fTimeResolution;  // global time resolution used to calculate T0
51   Float_t fLowerMomBound;   // momentum lower bound for selected primary tracks 
52   Float_t fUpperMomBound;   // momentum upper bound for selected primary tracks 
53   TString fT0File ;         // output file; it contains for time being only 3 histos 
54   TString fHeadersFile;     // input file
55
56  protected:
57
58   ClassDef(AliTOFT0,1)  // Calculate the time zero using TOF detector
59
60 };
61
62 #endif // AliTOFT0_H