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