]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFReconstructionerV2.h
fForceDecay initialized to kAll in constructors
[u/mrichter/AliRoot.git] / TOF / AliTOFReconstructionerV2.h
1 #ifndef ALITOFRECONSTRUCTIONERV2_H
2 #define ALITOFRECONSTRUCTIONERV2_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //_________________________________________________________________________
7 //  Task Class for Reconstruction V2 in TOF      
8 //                  
9 //-- Author: F. Pierella
10
11
12 #include "TTask.h"
13
14 class AliTOFDigitMap;
15 class AliTOFHitMap;
16 class TClonesArray;
17 class TString;
18 class TTree;
19 class TBranch;
20
21 class AliTOFReconstructionerV2: public TTask {
22
23 public:
24   AliTOFReconstructionerV2() ;          // ctor
25   AliTOFReconstructionerV2(char* tpcBackTracks, char* tofDigits="digits.root");
26   AliTOFReconstructionerV2(const AliTOFReconstructionerV2 & rec);
27   virtual ~AliTOFReconstructionerV2() ; // dtor   
28   Bool_t        BackPropagation(){return kTRUE;};
29   //void          CreateNTuple();
30   void          Comparison(Int_t* rtIndex); // for MC comparison
31   virtual void  Exec(Option_t* option); // do the main work
32   Int_t         GetDbgFlag()           const   {return fdbg;}
33   const char*   GetTOFDigitsFile()     const {return (char*)fTOFDigitsFile.Data();}
34   const char*   GetTPCBackTracksFile() const {return (char*)fTPCBackTracksFile.Data();}
35   void          Init(Option_t* opt);
36   Int_t         LoadTPCTracks();
37   Int_t         LoadTOFDigits();
38   Int_t         LoadTRDTracks();
39   Int_t         SaveTracks(const Char_t* outname="tofTracks.root", const Int_t split=0);
40   void          SetDbg(Int_t dbgflag)        {fdbg=dbgflag;}
41   void          SetTOFDigitsFile(char * tofDigitsFile ) {fTOFDigitsFile=tofDigitsFile;}
42   void          SetTPCBackTracksFile(char * tpcBackTracksFile ){fTPCBackTracksFile=tpcBackTracksFile;}
43   void          SetField(Float_t field)      {fField=field;}
44   void          SetNDummyTracks(Int_t nDummyTracks){fNDummyTracks=nDummyTracks;}
45   void          SetScaleSigmaFactor(Float_t factor){fScaleSigmaFactor=factor;}
46   void          SetStep(Float_t step)        {fStep=step;}
47   Bool_t   operator == (const AliTOFReconstructionerV2 & tofrecv2) const ;
48
49 private:
50
51   Int_t   fdbg;              //! Flag for debug, 0 no debug, 1 debug
52   AliTOFDigitMap* fDigitsMap;//! pointer to the map of TOF digits
53   //AliTOFHitMap* fDigitsMap;  //! pointer to the map of TOF digits
54   Float_t fField;            //! mag field value [Tesla]
55   Int_t   fNDummyTracks;     //  number of test tracks used to search
56                              //  the signal on TOF
57   Float_t fScaleSigmaFactor; //  scale factor for sigma (common value for sigmaY and sigmaZ)
58   Float_t fStep;             //! step inside the TOF volumes during 
59                              //  back propagation 
60   TClonesArray* fTOFDigits;  //! pointer to the TClonesArray with TOF digits
61   TClonesArray* fTOFTracks;  //! pointer to the TClonesArray with TOF tracks
62   TString fTOFDigitsFile;    //! file with TOF digits 
63   TString fTPCBackTracksFile;//! seed TPC to TOF file name
64   TTree*  fKalmanTree       ;//! tree with reconstructed tracks in TPC
65   TBranch* fBranchWithTracks;//! branch with backpropagated tracks in TPC
66
67   virtual void  IsInsideThePad(Float_t x, Float_t y, Float_t z, Int_t *nGeom, Float_t& zPad, Float_t& xPad);
68   virtual void  GetGlobalXYZ(Double_t alpha, Double_t& x, Double_t& y, Double_t& z);
69   Bool_t        DigitFinder(TArrayI *secArray, TArrayI *plaArray, TArrayI *strArray, TArrayI *pdzArray, TArrayI *pdxArray, Int_t* assignedVol, Int_t* digitTrackArray, Float_t& tdc);
70
71  protected:
72   // the class is assumed to have a streamer
73   ClassDef(AliTOFReconstructionerV2,1)  // Task class for TOF reconstruction V2
74
75 };
76
77 #endif // AliTOFRECONSTRUCTIONERV2_H