#include <TString.h>
class TTree;
-class AliRunLoader;
class AliRawReader;
class AliVertexer;
class AliTracker;
-class AliESD;
+class AliTrackleter;
+class AliESDEvent;
+class AliDetectorRecoParam;
+class AliRunInfo;
+class AliEventInfo;
+class AliESDpid;
+#include "AliReconstruction.h"
class AliReconstructor: public TObject {
public:
- AliReconstructor(): TObject(), fOption() {};
+ AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0) {};
virtual ~AliReconstructor() {};
- virtual void Init(AliRunLoader* /*runLoader*/) {};
+ virtual void Init() {};
virtual Bool_t HasDigitConversion() const {return kFALSE;};
virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
- virtual Bool_t HasLocalReconstruction() const {return kFALSE;};
virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
- virtual void Reconstruct(AliRunLoader* runLoader) const;
- virtual void Reconstruct(AliRunLoader* runLoader,
- AliRawReader* rawReader) const;
- virtual AliVertexer* CreateVertexer(AliRunLoader* /*runLoader*/) const
+ virtual AliVertexer* CreateVertexer() const
{return NULL;}
- virtual AliTracker* CreateTracker(AliRunLoader* /*runLoader*/) const
+ virtual AliTracker* CreateTracker() const
+ {return NULL;}
+ virtual AliTracker* CreateTrackleter() const
+ {return NULL;}
+ virtual AliTrackleter* CreateMultFinder() const
{return NULL;}
virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
- AliESD* esd) const;
+ AliESDEvent* esd) const;
virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
- AliESD* esd) const;
- virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
- virtual void FillESD(AliRunLoader* runLoader,
- AliRawReader* rawReader, AliESD* esd) const;
+ AliESDEvent* esd) const;
virtual const char* GetDetectorName() const;
void SetOption(Option_t* option) {fOption = option;};
virtual Option_t* GetOption() const {return fOption.Data();};
+ void SetRunInfo(AliRunInfo *runInfo) {fRunInfo = runInfo;}
+ const AliRunInfo* GetRunInfo() const {return fRunInfo;}
+ void SetEventInfo(AliEventInfo *evInfo) {fEventInfo = evInfo;}
+ const AliEventInfo* GetEventInfo() const {return fEventInfo;}
+
+ void SetRecoParam(const AliDetectorRecoParam *par);
+ static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
+ virtual void GetPidSettings(AliESDpid *esdPID);
+
+ virtual void FillEventTimeWithTOF(AliESDEvent *, AliESDpid *)
+ {return;}
+
private:
- TString fOption; //! option for reconstruction
+
+ AliReconstructor(const AliReconstructor &); // Not implemented
+ AliReconstructor& operator=(const AliReconstructor &); // Not implemented
+
+ TString fOption; //! option for reconstruction
+ static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
+ AliRunInfo* fRunInfo; //! pointer to the run info object
+ AliEventInfo* fEventInfo; //! pointer to the event info object
ClassDef(AliReconstructor, 0) // base class for reconstruction algorithms
};