New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[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 AliLoader;
18 class AliTracker;
19 class AliITStrackerMI;
20 class AliITSpidESD;
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) const;
29   
30   virtual void         Reconstruct(AliRunLoader* runLoader) const;
31   virtual void         Reconstruct(AliRunLoader* runLoader,
32                                    AliRawReader* rawReader) const;
33   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const 
34     {AliReconstructor::Reconstruct(rawReader,clustersTree);}
35   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const 
36     {AliReconstructor::Reconstruct(digitsTree, clustersTree);}
37
38   virtual AliTracker*  CreateTracker(AliRunLoader* runLoader) const;
39   virtual AliVertexer* CreateVertexer(AliRunLoader* runLoader) const;
40   virtual void         FillESD(AliRunLoader* runLoader, AliESDEvent* esd) const;
41
42   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
43                                  AliESDEvent* esd) const 
44     {AliReconstructor::FillESD(digitsTree, clustersTree, esd);}
45   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
46                                AliESDEvent* esd) const
47     {AliReconstructor::FillESD(rawReader, clustersTree, esd);}
48   virtual void         FillESD(AliRunLoader* runLoader, 
49                                AliRawReader* rawReader, AliESDEvent* esd) const
50     {AliReconstructor::FillESD(runLoader,rawReader, esd);}
51
52   void SetRecoParam(AliITSRecoParam * param){ fgkRecoParam = param;}
53   static const AliITSRecoParam* GetRecoParam(){ return fgkRecoParam;}
54
55 private:
56   // methods
57   AliITSgeom*          GetITSgeom(AliRunLoader* runLoader) const;
58   //data
59   static AliITSRecoParam *   fgkRecoParam; // reconstruction parameters
60   AliITSpidESD *fItsPID; //Pid for ITS
61   ClassDef(AliITSReconstructor, 1)   // class for the ITS reconstruction
62 };
63
64 #endif