]>
Commit | Line | Data |
---|---|---|
3e820254 | 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 | class AliRawReader; | |
12 | class AliESDEvent; | |
13 | ||
14 | /** | |
15 | * @class AliHLTReconstructor | |
16 | * AliHLTReconstructor AliRoot event reconstruction plugin for the HLT. | |
17 | * The AliHLTReconstructor holds an instance of the @ref AliHLTSystem | |
18 | * steering class. The actual reconstruction depends on the loaded component | |
19 | * libraries. Each library must implement a module agent (@ref AliHLTModuleAgent) | |
20 | * in order to provide information on the supported features and the | |
21 | * configurations to be run. | |
22 | * | |
23 | * The default component libraries which are loaded through the initialization | |
24 | * are determined by the @ref kHLTDefaultLibs array. The library loading can | |
25 | * be overridden by an option to the AliHLTReconstructor through the | |
26 | * <tt>SetOption</tt> method of <tt>AliReconstruction</tt>, e.g. | |
27 | * <pre> | |
28 | * AliReconstruction rec; | |
29 | * rec.SetOption("HLT", "libAliHLTSample.so"); | |
30 | * </pre> | |
31 | * will only load <tt>libAliHLTSample.so</tt> | |
32 | * | |
33 | * Optional arguments:<br> | |
34 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formating --> | |
35 | * \li loglevel=<i>level</i><br> | |
36 | * level can be a hex number encoding the @ref AliHLTComponentLogSeverity | |
37 | * \li alilog=off <br> | |
38 | * disables the logging of HLT log messages through <tt>AliLog</tt> <br> | |
39 | * | |
40 | * For further information on the AliRoot reconstruction refer to the AliRoot | |
41 | * documentation, namely <tt>AliReconstruction</tt>. | |
42 | */ | |
43 | class AliHLTReconstructor: public AliReconstructor { | |
44 | public: | |
45 | AliHLTReconstructor(); | |
46 | /** destructor */ | |
47 | virtual ~AliHLTReconstructor(); | |
48 | ||
49 | /** init the reconstructor */ | |
50 | void Init(); | |
51 | ||
52 | /** | |
53 | * This Reconstructor function is not applicable for the AliHLTReconstructor | |
54 | * as it gets a detector specific digits tree. But HLT processes all detectors. | |
55 | * Furthermore it's purely simulated data. | |
56 | */ | |
57 | void Reconstruct(TTree* digitsTree, TTree* clustersTree) const{ | |
58 | AliReconstructor::Reconstruct(digitsTree,clustersTree); | |
59 | } | |
60 | ||
61 | /** | |
62 | * Reconstruction from RAW data. | |
63 | * The rawReader holds data for all detectors and this version of Reconstruct | |
64 | * is thus applicable for the HLT. The clustersTree is just ignored. | |
65 | */ | |
66 | void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const; | |
67 | ||
68 | /** | |
69 | * This function is purely for simulated data and not applicable for HLT. | |
70 | * HLT reconstruction on simulated data is processed at the end of | |
71 | * simulation. | |
72 | */ | |
73 | void FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const { | |
74 | AliReconstructor::FillESD(digitsTree,clustersTree,esd); | |
75 | } | |
76 | ||
77 | /** | |
78 | * Fill the ESD from RAW data. | |
79 | * This is the main entry for HLT reconstruction of RAW data. It performs both | |
80 | * the analysis by the defined chains and the filling of the ESD. | |
81 | */ | |
82 | void FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESDEvent* esd) const; | |
83 | ||
84 | private: | |
85 | /** copy constructor prohibited */ | |
86 | AliHLTReconstructor(const AliHLTReconstructor& src); | |
87 | /** assignment operator prohibited */ | |
88 | AliHLTReconstructor& operator=(const AliHLTReconstructor& src); | |
89 | ||
90 | AliHLTSystem* fpSystem; //! HLT steering object | |
91 | ||
92 | ClassDef(AliHLTReconstructor, 3) // class for the HLT reconstruction | |
93 | }; | |
94 | ||
95 | typedef AliHLTReconstructor AliL3Reconstructor; // for backward compatibility | |
96 | ||
97 | #endif |