]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliHLTReconstructor.h
integration of AliHLTSystem into Reconstructor (LocalReconstruction); handling of...
[u/mrichter/AliRoot.git] / HLT / src / AliHLTReconstructor.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTRECONSTRUCTOR_H
4 #define ALIHLTRECONSTRUCTOR_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 #ifdef use_reconstruction
9 #include "AliReconstructor.h"
10
11 class AliHLTSystem;
12
13 class AliHLTReconstructor: public AliReconstructor {
14 public:
15   AliHLTReconstructor();
16   AliHLTReconstructor(Bool_t doTracker, Bool_t doHough);
17   /** not a valid copy constructor, defined according to effective C++ style */
18   AliHLTReconstructor(const AliHLTReconstructor& src);
19   /** not a valid assignment op, but defined according to effective C++ style */
20   AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
21   /** destructor */
22   virtual ~AliHLTReconstructor();
23
24   /** init the reconstructor */
25   void Init(AliRunLoader* runLoader);
26
27   /** reconstruct simulated MC data */
28   void Reconstruct(AliRunLoader* runLoader) const;
29   /** reconstruct data from RawReader */
30   void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawReader) const;
31
32   /** create a tracker */
33   AliTracker*  CreateTracker(AliRunLoader*) const;
34
35   /** fill esd for one event */
36   void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
37
38   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const{
39     AliReconstructor::Reconstruct(digitsTree,clustersTree);
40   }
41   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const {
42     AliReconstructor::Reconstruct(rawReader,clustersTree);
43   }
44
45   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
46                                AliESD* esd) const {
47     AliReconstructor::FillESD(digitsTree,clustersTree,esd);
48   }
49   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
50                                AliESD* esd) const {
51     AliReconstructor::FillESD(rawReader,clustersTree,esd);
52   }
53   virtual void         FillESD(AliRunLoader* runLoader, 
54                                AliRawReader* rawReader, AliESD* esd) const {
55     AliReconstructor:: FillESD(runLoader,rawReader,esd);
56   }
57   void SetDoBench(Bool_t b){fDoBench=b;}
58   void SetDoCleanup(Bool_t b){fDoCleanUp=b;}
59   virtual void         FillDHLTRecPoint(AliRawReader* rawReader, Int_t nofEvent, Int_t dcCut) const;
60 private:
61   void ReconstructWithConformalMapping(AliRunLoader* runLoader,Int_t iEvent) const;
62   void ReconstructWithHoughTransform(AliRunLoader* runLoader,Int_t iEvent) const;
63   void FillESDforConformalMapping(AliESD* esd,Int_t iEvent) const;
64   void FillESDforHoughTransform(AliESD* esd,Int_t iEvent) const;
65
66   Bool_t fDoHough;   //do the hough transform
67   Bool_t fDoTracker; //do the standard conformal tracker
68   Bool_t fDoBench;   //store the benchmark results
69   Bool_t fDoCleanUp; //delete tmp tracking files
70
71   AliHLTSystem* fpSystem; //! HLT steering object
72   Int_t  fRecEvents;      //! number of reconstructed events
73   Int_t  fFilled;         //! number of event filled to ESD
74
75   ClassDef(AliHLTReconstructor, 1)   // class for the TPC reconstruction
76 };
77 #endif
78
79 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility
80
81 #endif