framework for reconstruction of raw data
[u/mrichter/AliRoot.git] / STEER / AliReconstructor.h
index afcffdc..14dcce8 100644 (file)
@@ -5,9 +5,17 @@
 
 /* $Id$ */
 
+//
+// base class for reconstruction algorithm
+// Derived classes should implement a default constructor and
+// the virtual methods
+//
+
 #include <TObject.h>
+#include <TString.h>
 
 class AliRunLoader;
+class AliRawReader;
 class AliVertexer;
 class AliTracker;
 class AliESD;
@@ -15,18 +23,28 @@ class AliESD;
 
 class AliReconstructor: public TObject {
 public:
-  AliReconstructor(): TObject() {};
+  AliReconstructor(): TObject(), fOption() {};
   virtual ~AliReconstructor() {};
 
   virtual void         Reconstruct(AliRunLoader* runLoader) const = 0;
+  virtual void         Reconstruct(AliRunLoader* runLoader, 
+                                  AliRawReader* rawReader) const;
   virtual AliVertexer* CreateVertexer(AliRunLoader* /*runLoader*/) const 
     {return NULL;}
   virtual AliTracker*  CreateTracker(AliRunLoader* /*runLoader*/) const 
     {return NULL;}
   virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const = 0;
+  virtual void         FillESD(AliRunLoader* runLoader, 
+                              AliRawReader* rawReader, AliESD* esd) const;
 
   virtual const char*  GetDetectorName() const;
 
+  void                 SetOption(Option_t* option) {fOption = option;};
+  virtual Option_t*    GetOption() const {return fOption.Data();};
+
+private:
+  TString              fOption;   //! option for reconstruction
+
   ClassDef(AliReconstructor, 0)   // base class for reconstruction algorithms
 };