]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliReconstructor.h
Do not reset a zero pointer to MC info
[u/mrichter/AliRoot.git] / STEER / AliReconstructor.h
index 7d62e5e54e506052434a07150edfb6a1a187de8a..d19dcb0a928048f84f1e09553da096c39cdb993a 100644 (file)
 #include <TString.h>
 
 class TTree;
-class AliRunLoader;
 class AliRawReader;
 class AliVertexer;
 class AliTracker;
 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 void         FillESD(TTree* digitsTree, TTree* clustersTree, 
                               AliESDEvent* esd) const;
   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
                               AliESDEvent* esd) const;
-  virtual void         FillESD(AliRunLoader* runLoader, AliESDEvent* esd) const;
-  virtual void         FillESD(AliRunLoader* runLoader, 
-                              AliRawReader* rawReader, 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);
+
 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
 };