Implementation of single event reconstruction. Removal of the run loaders from the...
[u/mrichter/AliRoot.git] / ITS / AliITSReconstructor.h
1 #ifndef ALIITSRECONSTRUCTOR_H
2 #define ALIITSRECONSTRUCTOR_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 // class for ITS reconstruction                                              //
10 //                                                                           //
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #include "AliReconstructor.h"
14 #include "AliITSRecoParam.h"
15
16 class AliITSgeom;
17 class AliTracker;
18 class AliITStrackerMI;
19 class AliITSpidESD;
20 class AliITSDetTypeRec;
21
22 class AliITSReconstructor: public AliReconstructor {
23 public:
24   AliITSReconstructor();
25   virtual ~AliITSReconstructor();
26   AliITSReconstructor(const AliITSReconstructor &ob); // copy constructor
27   AliITSReconstructor& operator=(const AliITSReconstructor & ob); // ass. op.
28   virtual void Init(AliRunLoader* runLoader);
29   
30   virtual Bool_t       HasLocalReconstruction() const {return kTRUE;};
31
32   virtual void         Reconstruct(AliRunLoader* runLoader) const
33     {AliReconstructor::Reconstruct(runLoader);}
34   virtual void         Reconstruct(AliRunLoader* runLoader,
35                                    AliRawReader* rawReader) const
36     {AliReconstructor::Reconstruct(runLoader,rawReader);}
37   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
38   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
39
40   virtual AliTracker*  CreateTracker(AliRunLoader* runLoader) const;
41   virtual AliVertexer* CreateVertexer(AliRunLoader* runLoader) const;
42   virtual void         FillESD(AliRunLoader* runLoader, AliESDEvent* esd) const;
43
44   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
45                                  AliESDEvent* esd) const 
46     {AliReconstructor::FillESD(digitsTree, clustersTree, esd);}
47   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
48                                AliESDEvent* esd) const
49     {AliReconstructor::FillESD(rawReader, clustersTree, esd);}
50   virtual void         FillESD(AliRunLoader* runLoader, 
51                                AliRawReader* rawReader, AliESDEvent* esd) const
52     {AliReconstructor::FillESD(runLoader,rawReader, esd);}
53
54   void SetRecoParam(AliITSRecoParam * param){ fgkRecoParam = param;}
55   static const AliITSRecoParam* GetRecoParam(){ return fgkRecoParam;}
56
57 private:
58   //data
59   static AliITSRecoParam *fgkRecoParam; // reconstruction parameters
60   AliITSpidESD           *fItsPID;      // Pid for ITS
61   AliITSDetTypeRec       *fDetTypeRec;  // reconstructor
62   ClassDef(AliITSReconstructor, 2)   // class for the ITS reconstruction
63 };
64
65 #endif