Fix for raw ctp decoding (Marek)
[u/mrichter/AliRoot.git] / STEER / STEER / AliReconstructor.h
CommitLineData
59697224 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
0742d588 8//
9// base class for reconstruction algorithm
10// Derived classes should implement a default constructor and
11// the virtual methods
12//
13
59697224 14#include <TObject.h>
efd2085e 15#include <TString.h>
59697224 16
b26c3770 17class TTree;
b649205a 18class AliRawReader;
59697224 19class AliVertexer;
20class AliTracker;
1f9831ab 21class AliTrackleter;
af885e0f 22class AliESDEvent;
7e88424f 23class AliDetectorRecoParam;
42ec5d3d 24class AliRunInfo;
25class AliEventInfo;
10d100d4 26class AliESDpid;
59697224 27
7e88424f 28#include "AliReconstruction.h"
59697224 29
30class AliReconstructor: public TObject {
31public:
bd072da4 32 AliReconstructor(): TObject(), fOption(), fRunInfo(0x0), fEventInfo(0x0), fhltesd(NULL) {};
c757bafd 33 virtual ~AliReconstructor() {};
34
d76c31f4 35 virtual void Init() {};
b26c3770 36
37 virtual Bool_t HasDigitConversion() const {return kFALSE;};
38 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
39
b26c3770 40 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
41 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
b26c3770 42
d76c31f4 43 virtual AliVertexer* CreateVertexer() const
59697224 44 {return NULL;}
d76c31f4 45 virtual AliTracker* CreateTracker() const
59697224 46 {return NULL;}
58e8dc31 47 virtual AliTracker* CreateTrackleter() const
48 {return NULL;}
1f9831ab 49 virtual AliTrackleter* CreateMultFinder() const
50 {return NULL;}
b26c3770 51
52 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
af885e0f 53 AliESDEvent* esd) const;
b26c3770 54 virtual void FillESD(AliRawReader* rawReader, TTree* clustersTree,
af885e0f 55 AliESDEvent* esd) const;
59697224 56
c757bafd 57 virtual const char* GetDetectorName() const;
58
efd2085e 59 void SetOption(Option_t* option) {fOption = option;};
60 virtual Option_t* GetOption() const {return fOption.Data();};
61
42ec5d3d 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;}
66
7e88424f 67 void SetRecoParam(const AliDetectorRecoParam *par);
68 static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
10d100d4 69 virtual void GetPidSettings(AliESDpid *esdPID);
bd072da4 70 void SetHLTESD(AliESDEvent* hltesd) {fhltesd=hltesd;}
71 AliESDEvent* GetHLTESD() const {return fhltesd;}
7e88424f 72
f858b00e 73 virtual void FillEventTimeWithTOF(AliESDEvent *, AliESDpid *)
74 {return;}
bd072da4 75 virtual void FinishEvent() {return; }
d5855dc9 76 virtual void Terminate() const {return; }
f858b00e 77
efd2085e 78private:
3abc001d 79
80 AliReconstructor(const AliReconstructor &); // Not implemented
81 AliReconstructor& operator=(const AliReconstructor &); // Not implemented
82
7e88424f 83 TString fOption; //! option for reconstruction
ac4a7581 84 static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
42ec5d3d 85 AliRunInfo* fRunInfo; //! pointer to the run info object
86 AliEventInfo* fEventInfo; //! pointer to the event info object
bd072da4 87 AliESDEvent* fhltesd; //! pointer to HLT ESD
efd2085e 88
59697224 89 ClassDef(AliReconstructor, 0) // base class for reconstruction algorithms
90};
91
92#endif