]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliHLTReconstructor.h
Important changes to the reconstructor classes. Complete elimination of the run-loade...
[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 #include "AliReconstructor.h"
9
10 class AliHLTSystem;
11
12 /**
13  * @class AliHLTReconstructor
14  * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT.
15  * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem
16  * steering class. The actual reconstruction depends on the loaded component
17  * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent)
18  * in order to provide information on the supported features and the
19  * configurations to be run.
20  *
21  * The default component libraries which are loaded through the initialization
22  * are determined by the @ref kHLTDefaultLibs array. The library loading can
23  * be overridden by an option to the AliHLTReconstructor through the
24  * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g.
25  * <pre>
26  * AliReconstruction rec;
27  * rec.SetOption("HLT", "libAliHLTSample.so");
28  * </pre>
29  * will only load <tt>libAliHLTSample.so</tt>
30  * 
31  * Optional arguments:<br>
32  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating -->
33  * \li loglevel=<i>level</i><br>
34  *     level can be a hex number encoding the @ref AliHLTComponentLogSeverity
35  * \li alilog=off <br>
36  *     disables the logging of HLT log messages through <tt>AliLog</tt> <br>
37  *
38  * For further information on the AliRoot reconstruction refer to the AliRoot
39  * documentation, namely <tt>AliReconstruction</tt>.
40  */
41 class AliHLTReconstructor: public AliReconstructor {
42 public:
43   AliHLTReconstructor();
44   AliHLTReconstructor(Bool_t doTracker, Bool_t doHough);
45   /** not a valid copy constructor, defined according to effective C++ style */
46   AliHLTReconstructor(const AliHLTReconstructor& src);
47   /** not a valid assignment op, but defined according to effective C++ style */
48   AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
49   /** destructor */
50   virtual ~AliHLTReconstructor();
51
52   /** init the reconstructor */
53   void Init();
54
55   /** create a tracker */
56   // Deprecated and must be removed.
57   //  AliTracker*  CreateTracker() const;
58
59   virtual void         Reconstruct(TTree* digitsTree, TTree* clustersTree) const{
60     AliReconstructor::Reconstruct(digitsTree,clustersTree);
61   }
62   virtual void         Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const {
63     AliReconstructor::Reconstruct(rawReader,clustersTree);
64   }
65
66   virtual void         FillESD(TTree* digitsTree, TTree* clustersTree, 
67                                AliESDEvent* esd) const {
68     AliReconstructor::FillESD(digitsTree,clustersTree,esd);
69   }
70   virtual void         FillESD(AliRawReader* rawReader, TTree* clustersTree, 
71                                AliESDEvent* esd) const {
72     AliReconstructor::FillESD(rawReader,clustersTree,esd);
73   }
74   void SetDoBench(Bool_t b){fDoBench=b;}
75   void SetDoCleanup(Bool_t b){fDoCleanUp=b;}
76   
77   // Deprecated and must be removed.
78 //  virtual void         FillDHLTRecPoint(AliRawReader* rawReader, Int_t nofEvent, Int_t dcCut) const;
79
80 private:
81 /*   void ReconstructWithConformalMapping(AliRunLoader* runLoader,Int_t iEvent) const; */
82 /*   void ReconstructWithHoughTransform(AliRunLoader* runLoader,Int_t iEvent) const; */
83 /*   void FillESDforConformalMapping(AliESDEvent* esd,Int_t iEvent) const; */
84 /*   void FillESDforHoughTransform(AliESDEvent* esd,Int_t iEvent) const; */
85
86   Bool_t fDoHough;   //do the hough transform
87   Bool_t fDoTracker; //do the standard conformal tracker
88   Bool_t fDoBench;   //store the benchmark results
89   Bool_t fDoCleanUp; //delete tmp tracking files
90
91   AliHLTSystem* fpSystem; //! HLT steering object
92
93   ClassDef(AliHLTReconstructor, 2)   // class for the HLT reconstruction
94 };
95
96 typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility
97
98 #endif