option for reconstructors added
[u/mrichter/AliRoot.git] / STEER / AliReconstructor.h
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
8 //
9 // base class for reconstruction algorithm
10 // Derived classes should implement a default constructor and
11 // the virtual methods
12 //
13
14 #include <TObject.h>
15 #include <TString.h>
16
17 class AliRunLoader;
18 class AliVertexer;
19 class AliTracker;
20 class AliESD;
21
22
23 class AliReconstructor: public TObject {
24 public:
25   AliReconstructor(): TObject(), fOption() {};
26   virtual ~AliReconstructor() {};
27
28   virtual void         Reconstruct(AliRunLoader* runLoader) const = 0;
29   virtual AliVertexer* CreateVertexer(AliRunLoader* /*runLoader*/) const 
30     {return NULL;}
31   virtual AliTracker*  CreateTracker(AliRunLoader* /*runLoader*/) const 
32     {return NULL;}
33   virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const = 0;
34
35   virtual const char*  GetDetectorName() const;
36
37   void                 SetOption(Option_t* option) {fOption = option;};
38   virtual Option_t*    GetOption() const {return fOption.Data();};
39
40 private:
41   TString              fOption;   //! option for reconstruction
42
43   ClassDef(AliReconstructor, 0)   // base class for reconstruction algorithms
44 };
45
46 #endif