]>
Commit | Line | Data |
---|---|---|
e7918895 | 1 | //-*- Mode: C++ -*- |
49d085b5 | 2 | // $Id$ |
e7918895 | 3 | |
4 | #ifndef ALIHLTVZERORECOCOMPONENT_H | |
5 | #define ALIHLTVZERORECOCOMPONENT_H | |
6 | ||
7 | /* This file is property of and copyright by the ALICE HLT Project * | |
8 | * ALICE Experiment at CERN, All rights reserved. * | |
9 | * See cxx source for full Copyright notice */ | |
10 | ||
11 | /** @file AliHLTVZERORecoComponent.h | |
12 | @author Jochen Thaeder <jochen@thaeder.de> | |
13 | @brief VZERO reconstruction component | |
14 | */ | |
15 | ||
16 | // see below for class documentation | |
17 | // or | |
18 | // refer to README to build package | |
19 | // or | |
20 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
21 | ||
22 | ||
23 | #include "AliHLTProcessor.h" | |
24 | ||
25 | class TTree; | |
26 | ||
27 | class AliRunInfo; | |
28 | class AliESDVZERO; | |
29 | class AliRawReaderMemory; | |
30 | class AliVZERORecoParam; | |
31 | class AliVZEROReconstructor; | |
32 | ||
33 | /** | |
34 | * @class AliHLTVZERORecoComponent | |
35 | * Reconstruction of VZERO data | |
36 | * | |
37 | * <h2>General properties:</h2> | |
38 | * | |
39 | * Component ID: \b VZEROReconstruction <br> | |
40 | * Library: \b libAliHLTVZERO.so <br> | |
41 | * Input Data Types: @ref kAliHLTDataTypeDDLRaw <br> | |
42 | * Output Data Types: @ref kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO <br> | |
43 | * | |
44 | * <h2>Mandatory arguments:</h2> | |
45 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
46 | * | |
47 | * <h2>Optional arguments:</h2> | |
48 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
49 | * | |
50 | * <h2>Configuration:</h2> | |
51 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
52 | * | |
53 | * <h2>Default CDB entries:</h2> | |
54 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
55 | * | |
56 | * <tt>HLT/ConfigVZERO/VZEROReconstruction</tt> | |
57 | * \li -TObjString object holding a string with the configuration parameters | |
58 | * currently empty | |
59 | * | |
60 | * <tt>GRP/GRP/Data</tt> | |
61 | * \li -GRP object - run information | |
62 | * | |
63 | * <tt>GRP/CTP/CTPtiming</tt> | |
64 | * \li -GRP object - CTP information | |
65 | * | |
66 | * <tt>GRP/CTP/TimeAlign</tt> | |
67 | * \li -GRP object - CTP information | |
68 | * | |
69 | * <tt>GRP/Calib/LHCClockPhase</tt> | |
70 | * \li -GRP object - time calibration | |
71 | * | |
72 | * <tt>VZERO/Calib/Data</tt> | |
73 | * \li -VZERO calibration object | |
74 | * | |
75 | * <tt>VZERO/Calib/TimeDelays</tt> | |
76 | * \li -VZERO calibration object | |
77 | * | |
78 | * <tt>VZERO/Calib/TimeSlewing</tt> | |
79 | * \li -VZERO calibration object | |
80 | * | |
81 | * <h2>Performance:</h2> | |
82 | * | |
83 | * <h2>Memory consumption:</h2> | |
84 | * | |
85 | * <h2>Input size:</h2> | |
86 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
87 | * | |
88 | * \li pp: 5968 Byte | |
89 | * | |
90 | * <h2>Output size:</h2> | |
91 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
92 | * | |
93 | * \li pp: Average : 1.8 kByte | |
94 | * | |
95 | * <h2>Macros Tests</h2> | |
96 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
97 | * | |
98 | * <tt>macros/makeConfigurationObjectVZEROReconstruction.C</tt> | |
99 | * \li - Create configuration TObjString | |
100 | * | |
101 | * <tt>macros/HLTVZEROTest.C</tt> | |
102 | * \li - Test macro for VZERO test in off-line environment | |
103 | * | |
104 | * <tt>macros/runVZEROTest.sh</tt> | |
105 | * \li - Run Test macro HLTVZEROTest.C | |
106 | * | |
107 | * @ingroup alihlt_vzero | |
108 | */ | |
109 | class AliHLTVZERORecoComponent : public AliHLTProcessor { | |
110 | public: | |
111 | ||
112 | /* | |
113 | * --------------------------------------------------------------------------------- | |
114 | * Constructor / Destructor | |
115 | * --------------------------------------------------------------------------------- | |
116 | */ | |
117 | ||
118 | /** constructor */ | |
119 | AliHLTVZERORecoComponent(); | |
120 | ||
121 | /** destructor */ | |
122 | virtual ~AliHLTVZERORecoComponent(); | |
123 | ||
124 | /* | |
125 | * --------------------------------------------------------------------------------- | |
126 | * Public functions to implement AliHLTComponent's interface. | |
127 | * These functions are required for the registration process | |
128 | * --------------------------------------------------------------------------------- | |
129 | */ | |
130 | ||
131 | /** interface function, see @ref AliHLTComponent for description */ | |
132 | const Char_t* GetComponentID(); | |
133 | ||
134 | /** interface function, see @ref AliHLTComponent for description */ | |
135 | void GetInputDataTypes( vector<AliHLTComponentDataType>& list); | |
136 | ||
137 | /** interface function, see @ref AliHLTComponent for description */ | |
138 | AliHLTComponentDataType GetOutputDataType(); | |
139 | ||
140 | /** interface function, see @ref AliHLTComponent for description */ | |
141 | void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier ); | |
142 | ||
143 | /** interface function, see @ref AliHLTComponent for description */ | |
144 | void GetOCDBObjectDescription( TMap* const targetMap); | |
145 | ||
146 | /** interface function, see @ref AliHLTComponent for description */ | |
147 | AliHLTComponent* Spawn(); | |
148 | ||
149 | protected: | |
150 | ||
151 | /* | |
152 | * --------------------------------------------------------------------------------- | |
153 | * Protected functions to implement AliHLTComponent's interface. | |
154 | * These functions provide initialization as well as the actual processing | |
155 | * capabilities of the component. | |
156 | * --------------------------------------------------------------------------------- | |
157 | */ | |
158 | ||
159 | // AliHLTComponent interface functions | |
160 | ||
161 | /** interface function, see @ref AliHLTComponent for description */ | |
162 | Int_t DoInit( Int_t argc, const Char_t** argv ); | |
163 | ||
164 | /** interface function, see @ref AliHLTComponent for description */ | |
165 | Int_t DoDeinit(); | |
166 | ||
167 | /** interface function, see @ref AliHLTComponent for description */ | |
168 | Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); | |
169 | ||
170 | using AliHLTProcessor::DoEvent; | |
171 | ||
172 | /** interface function, see @ref AliHLTComponent for description */ | |
173 | Int_t ScanConfigurationArgument(Int_t argc, const Char_t** argv); | |
174 | ||
175 | /** interface function, see @ref AliHLTComponent for description */ | |
176 | Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId); | |
177 | ||
178 | /** interface function, see @ref AliHLTComponent for description */ | |
179 | Int_t ReadPreprocessorValues(const Char_t* modules); | |
180 | ||
181 | /////////////////////////////////////////////////////////////////////////////////// | |
182 | ||
183 | private: | |
184 | ||
185 | /* | |
186 | * --------------------------------------------------------------------------------- | |
187 | * Private functions to implement AliHLTComponent's interface. | |
188 | * These functions provide initialization as well as the actual processing | |
189 | * capabilities of the component. | |
190 | * --------------------------------------------------------------------------------- | |
191 | */ | |
192 | ||
193 | /** copy constructor prohibited */ | |
194 | AliHLTVZERORecoComponent(const AliHLTVZERORecoComponent&); | |
195 | ||
196 | /** assignment operator prohibited */ | |
197 | AliHLTVZERORecoComponent& operator=(const AliHLTVZERORecoComponent&); | |
198 | ||
199 | /* | |
200 | * --------------------------------------------------------------------------------- | |
201 | * Members - private | |
202 | * --------------------------------------------------------------------------------- | |
203 | */ | |
204 | ||
205 | /** runInfo Object */ | |
206 | AliRunInfo *fRunInfo; // see above | |
207 | ||
e7918895 | 208 | /** VZERO reco param instance */ |
209 | AliVZERORecoParam *fVZERORecoParam; //! transient | |
210 | ||
211 | /** VZERO reconstructor instance */ | |
212 | AliVZEROReconstructor *fVZEROReconstructor; //! transient | |
213 | ||
214 | /** Rawreader instance */ | |
215 | AliRawReaderMemory *fRawReader; //! transient | |
216 | ||
217 | ClassDef(AliHLTVZERORecoComponent, 0) | |
218 | }; | |
219 | #endif |