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 */
9 // base class for reconstruction algorithm
10 // Derived classes should implement a default constructor and
11 // the virtual methods
23 class AliDetectorRecoParam;
28 #include "AliReconstruction.h"
30 class AliReconstructor: public TObject {
32 AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0), fhltesd(NULL) {};
33 virtual ~AliReconstructor() {};
35 virtual void Init() {};
37 virtual Bool_t HasDigitConversion() const {return kFALSE;};
38 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
40 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
41 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
43 virtual AliVertexer* CreateVertexer() const
45 virtual AliTracker* CreateTracker() const
47 virtual AliTracker* CreateTrackleter() const
49 virtual AliTrackleter* CreateMultFinder() const
52 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
53 AliESDEvent* esd) const;
54 virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
55 AliESDEvent* esd) const;
57 virtual const char* GetDetectorName() const;
59 void SetOption(Option_t* option) {fOption = option;};
60 virtual Option_t* GetOption() const {return fOption.Data();};
62 void SetRunInfo(AliRunInfo *runInfo) {fRunInfo = runInfo;}
63 const AliRunInfo* GetRunInfo() const {return fRunInfo;}
64 void SetEventInfo(AliEventInfo *evInfo) {fEventInfo = evInfo;}
65 const AliEventInfo* GetEventInfo() const {return fEventInfo;}
67 void SetRecoParam(const AliDetectorRecoParam *par);
68 static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
69 virtual void GetPidSettings(AliESDpid *esdPID);
70 void SetHLTESD(AliESDEvent* hltesd) {fhltesd=hltesd;}
71 AliESDEvent* GetHLTESD() const {return fhltesd;}
73 virtual void FillEventTimeWithTOF(AliESDEvent *, AliESDpid *)
75 virtual void FinishEvent() {return; }
76 virtual void Terminate() const {return; }
80 AliReconstructor(const AliReconstructor &); // Not implemented
81 AliReconstructor& operator=(const AliReconstructor &); // Not implemented
83 TString fOption; //! option for reconstruction
84 static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
85 AliRunInfo* fRunInfo; //! pointer to the run info object
86 AliEventInfo* fEventInfo; //! pointer to the event info object
87 AliESDEvent* fhltesd; //! pointer to HLT ESD
89 ClassDef(AliReconstructor, 0) // base class for reconstruction algorithms