AliRoot Core  ee782a0 (ee782a0)
AliReconstructor.h
Go to the documentation of this file.
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 #include "AliMCEvent.h"
17 
18 class TTree;
19 class AliRawReader;
20 class AliVertexer;
21 class AliTracker;
22 class AliTrackleter;
23 class AliESDEvent;
25 class AliRunInfo;
26 class AliEventInfo;
27 class AliESDpid;
28 class AliMCEvent;
29 
30 #include "AliReconstruction.h"
31 
32 class AliReconstructor: public TObject {
33 public:
34  AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0), fhltesd(NULL), fTimeStamp(0) {};
35  virtual ~AliReconstructor() {};
36 
37  virtual void Init() {};
38 
39  virtual Bool_t HasDigitConversion() const {return kFALSE;};
40  virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
41 
42  virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
43  virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
44 
45  virtual AliVertexer* CreateVertexer() const
46  {return NULL;}
47  virtual AliTracker* CreateTracker() const
48  {return NULL;}
49  virtual AliTracker* CreateTrackleter() const
50  {return NULL;}
51  virtual AliTrackleter* CreateMultFinder() const
52  {return NULL;}
53 
54  virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
55  AliESDEvent* esd) const;
56  virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
57  AliESDEvent* esd) const;
58 
59  virtual const char* GetDetectorName() const;
60 
61  void SetOption(Option_t* option) {fOption = option;};
62  virtual Option_t* GetOption() const {return fOption.Data();};
63 
64  void SetRunInfo(AliRunInfo *runInfo) {fRunInfo = runInfo;}
65  const AliRunInfo* GetRunInfo() const {return fRunInfo;}
66  void SetEventInfo(AliEventInfo *evInfo) {fEventInfo = evInfo;}
67  const AliEventInfo* GetEventInfo() const {return fEventInfo;}
68 
69  void SetRecoParam(const AliDetectorRecoParam *par);
70  static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
71  virtual void GetPidSettings(AliESDpid *esdPID);
72  void SetHLTESD(AliESDEvent* hltesd) {fhltesd=hltesd;}
73  AliESDEvent* GetHLTESD() const {return fhltesd;}
74 
76  {return;}
77  virtual void FinishEvent() {return; }
78  virtual void Terminate() const {return; }
79 
80  UInt_t GetTimeStamp() const {return fTimeStamp;}
81  void SetTimeStamp(UInt_t t) {fTimeStamp = t;}
82 
83  static void SetMCEvent(const AliMCEvent* mcev) {fgMCEvent = mcev;}
84  static const AliMCEvent* GetMCEvent() {return fgMCEvent;}
85 
86 private:
87 
88  AliReconstructor(const AliReconstructor &); // Not implemented
89  AliReconstructor& operator=(const AliReconstructor &); // Not implemented
90 
91  TString fOption;
96  static const AliMCEvent* fgMCEvent;
97  UInt_t fTimeStamp;
98  ClassDef(AliReconstructor, 0) // base class for reconstruction algorithms
99 };
100 
101 #endif
virtual AliTrackleter * CreateMultFinder() const
virtual void FinishEvent()
virtual void FillESD(TTree *digitsTree, TTree *clustersTree, AliESDEvent *esd) const
void SetOption(Option_t *option)
static const AliDetectorRecoParam * GetRecoParam(Int_t iDet)
AliRunInfo * fRunInfo
event reconstruction parameters for all detectors
static void SetMCEvent(const AliMCEvent *mcev)
virtual void Reconstruct(TTree *digitsTree, TTree *clustersTree) const
static const AliDetectorRecoParam * fgRecoParam[AliReconstruction::kNDetectors]
option for reconstruction
virtual AliVertexer * CreateVertexer() const
virtual void FillEventTimeWithTOF(AliESDEvent *, AliESDpid *)
const AliEventInfo * GetEventInfo() const
virtual void Init()
static const AliMCEvent * GetMCEvent()
AliESDEvent * GetHLTESD() const
const AliRunInfo * GetRunInfo() const
virtual ~AliReconstructor()
AliEventInfo * fEventInfo
pointer to the run info object
UInt_t fTimeStamp
optional pointer to MC event
virtual Option_t * GetOption() const
virtual const char * GetDetectorName() const
virtual AliTracker * CreateTrackleter() const
AliReconstructor & operator=(const AliReconstructor &)
void SetHLTESD(AliESDEvent *hltesd)
AliESDEvent * fhltesd
pointer to the event info object
UInt_t GetTimeStamp() const
virtual void ConvertDigits(AliRawReader *rawReader, TTree *digitsTree) const
virtual AliTracker * CreateTracker() const
void SetTimeStamp(UInt_t t)
static const AliMCEvent * fgMCEvent
pointer to HLT ESD
void SetEventInfo(AliEventInfo *evInfo)
virtual void GetPidSettings(AliESDpid *esdPID)
virtual Bool_t HasDigitConversion() const
void SetRunInfo(AliRunInfo *runInfo)
void SetRecoParam(const AliDetectorRecoParam *par)
virtual void Terminate() const