]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCReconstructor.h
Preparation for the new dEdx algorithm :
[u/mrichter/AliRoot.git] / TPC / AliTPCReconstructor.h
1 #ifndef ALITPCRECONSTRUCTOR_H
2 #define ALITPCRECONSTRUCTOR_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 #include "AliReconstructor.h"
9 #include "AliTPCRecoParam.h"
10
11 class AliTPCParam;
12 class AliTPCclustererMI;
13 class AliTPCAltroEmulator;
14
15 class AliTPCReconstructor: public AliReconstructor {
16 public:
17   AliTPCReconstructor();
18   virtual ~AliTPCReconstructor();
19   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
20   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
21
22   virtual AliTracker*  CreateTracker() const;
23
24   virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
25                                AliESDEvent* esd) const;
26   virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
27                                AliESDEvent* esd) const
28   {FillESD((TTree*)NULL,(TTree*)NULL,esd);}
29
30   static const AliTPCRecoParam* GetRecoParam() { return dynamic_cast<const AliTPCRecoParam*>(AliReconstructor::GetRecoParam(1)); }
31   //
32   static Double_t GetCtgRange()     { return GetRecoParam()->GetCtgRange();}
33   static Double_t GetMaxSnpTracker(){ return GetRecoParam()->GetMaxSnpTracker();}
34   static Double_t GetMaxSnpTrack()  { return GetRecoParam()->GetMaxSnpTrack();}
35
36   static Int_t StreamLevel()               { return fgStreamLevel;}
37   static void  SetStreamLevel(Int_t level) { fgStreamLevel = level;}
38   static void  SetAltroEmulator(AliTPCAltroEmulator *altro) { fAltroEmulator=altro;}
39   static AliTPCAltroEmulator *  GetAltroEmulator() { return fAltroEmulator;}
40
41
42 private:
43   AliTPCReconstructor(const AliTPCReconstructor&); //Not implemented
44   AliTPCReconstructor& operator=(const AliTPCReconstructor&); //Not implemented
45   AliTPCParam*         GetTPCParam() const;
46   static Int_t               fgStreamLevel; // flag for streaming      - for TPC reconstruction
47   AliTPCclustererMI*         fClusterer;   // TPC clusterer
48   static AliTPCAltroEmulator * fAltroEmulator;    // ALTRO emulator
49   ClassDef(AliTPCReconstructor, 0)   // class for the TPC reconstruction
50 };
51
52 #endif