]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliReconstructor.h
Analysis with correction for double hits (work in progress) and analysis independent...
[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 TTree;
18 class AliRawReader;
19 class AliVertexer;
20 class AliTracker;
21 class AliESDEvent;
22 class AliDetectorRecoParam;
23
24 #include "AliReconstruction.h"
25
26 class AliReconstructor: public TObject {
27 public:
28   AliReconstructor(): TObject(), fOption() {};
29   virtual ~AliReconstructor() {};
30
31   virtual void         Init() {};
32
33   virtual Bool_t       HasDigitConversion() const {return kFALSE;};
34   virtual void         ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
35
36   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
37   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
38
39   virtual AliVertexer* CreateVertexer() const 
40     {return NULL;}
41   virtual AliTracker*  CreateTracker() const 
42     {return NULL;}
43   virtual AliTracker*  CreateTrackleter() const 
44     {return NULL;}
45
46   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
47                                AliESDEvent* esd) const;
48   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
49                                AliESDEvent* esd) const;
50
51   virtual const char*  GetDetectorName() const;
52
53   void                 SetOption(Option_t* option) {fOption = option;};
54   virtual Option_t*    GetOption() const {return fOption.Data();};
55
56   void                               SetRecoParam(const AliDetectorRecoParam *par);
57   static const AliDetectorRecoParam* GetRecoParam(Int_t iDet);
58
59 private:
60   TString                            fOption;                                       //! option for reconstruction
61   static const AliDetectorRecoParam* fgRecoParam[AliReconstruction::kNDetectors]; //! event reconstruction parameters for all detectors
62
63   ClassDef(AliReconstructor, 0)   // base class for reconstruction algorithms
64 };
65
66 #endif