]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliReconstructor.h
Changed class inheritance (TObject->TTask) and fixed bug
[u/mrichter/AliRoot.git] / STEER / AliReconstructor.h
1 #ifndef ALIRECONSTRUCTOR_H
2 #define ALIRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //
9 // base class for reconstruction algorithm
10 // Derived classes should implement a default constructor and
11 // the virtual methods
12 //
13
14 #include <TObject.h>
15 #include <TString.h>
16
17 class TTree;
18 class AliRawReader;
19 class AliVertexer;
20 class AliTracker;
21 class AliESDEvent;
22 class AliDetectorRecoParam;
23 class AliRunInfo;
24 class AliEventInfo;
25 class AliESDpid;
26
27 #include "AliReconstruction.h"
28
29 class AliReconstructor: public TObject {
30 public:
31   AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0) {};
32   virtual ~AliReconstructor() {};
33
34   virtual void         Init() {};
35
36   virtual Bool_t       HasDigitConversion() const {return kFALSE;};
37   virtual void         ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
38
39   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
40   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
41
42   virtual AliVertexer* CreateVertexer() const 
43     {return NULL;}
44   virtual AliTracker*  CreateTracker() const 
45     {return NULL;}
46   virtual AliTracker*  CreateTrackleter() const 
47     {return NULL;}
48
49   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
50                                AliESDEvent* esd) const;
51   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
52                                AliESDEvent* esd) const;
53
54   virtual const char*  GetDetectorName() const;
55
56   void                 SetOption(Option_t* option) {fOption = option;};
57   virtual Option_t*    GetOption() const {return fOption.Data();};
58
59   void                 SetRunInfo(AliRunInfo *runInfo) {fRunInfo = runInfo;}
60   const AliRunInfo*    GetRunInfo() const {return fRunInfo;}
61   void                 SetEventInfo(AliEventInfo *evInfo) {fEventInfo = evInfo;}
62   const AliEventInfo*  GetEventInfo() const {return fEventInfo;}
63
64   void                               SetRecoParam(const AliDetectorRecoParam *par);
65   static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
66   virtual void                 GetPidSettings(AliESDpid *esdPID);
67
68 private:
69
70   AliReconstructor(const AliReconstructor &); // Not implemented
71   AliReconstructor& operator=(const AliReconstructor &); // Not implemented
72   
73   TString                            fOption;                                       //! option for reconstruction
74   static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
75   AliRunInfo*                        fRunInfo;                                    //! pointer to the run info object
76   AliEventInfo*                      fEventInfo;                                  //! pointer to the event info object
77
78   ClassDef(AliReconstructor, 0)   // base class for reconstruction algorithms
79 };
80
81 #endif