]>
Commit | Line | Data |
---|---|---|
649ab027 | 1 | #ifndef ALIHLTMUONESDMAKER_H |
2 | #define ALIHLTMUONESDMAKER_H | |
3 | /* This file is property of and copyright by the ALICE HLT Project * | |
4 | * ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id: $ */ | |
8 | ||
9 | /// | |
10 | /// @file AliHLTMUONESDMaker.h | |
11 | /// @author Artur Szostak <artursz@iafrica.com> | |
12 | /// @date 30 June 2008 | |
13 | /// @brief Component for converting dHLT raw data into AliESDEvent objects. | |
14 | /// | |
15 | ||
16 | #include "AliHLTMUONProcessor.h" | |
17 | ||
18 | /** | |
19 | * @class AliHLTMUONESDMaker | |
20 | * The component is used to convert dHLT reconstructed data into AliESDEvent | |
21 | * objects which can be stored in ROOT files during offline reconstruction. | |
22 | * Only the dHLT track and trigger record data is converted, then filled in the ESD. | |
23 | * These should then be merged together with ESDs from all the other parts of | |
24 | * HLT (eg. TPC HLT).<br> | |
25 | * This component can also be run online to have ESDs directly in the raw | |
26 | * HLT output data stream.<br> | |
27 | * | |
28 | * Component ID: \b MUONESDMaker <br> | |
29 | * Library: \b libAliHLTMUON.so <br> | |
30 | * | |
31 | * Optional arguments:<br> | |
32 | * \li -make_minimal_esd <br> | |
33 | * Indicates that AliESDEvent objects should be created with only the TClonesArray | |
34 | * for the muon tracks created. (default is to generate all standard ESD objects)<br> | |
35 | * \li -warn_on_unexpected_block <br> | |
36 | * If set, then warning messages are generated for any data block types that | |
37 | * were not expected. (default is to generate only debug messages)<br> | |
38 | * | |
39 | * @ingroup alihlt_dimuon_component | |
40 | */ | |
41 | class AliHLTMUONESDMaker : public AliHLTMUONProcessor | |
42 | { | |
43 | public: | |
44 | ||
45 | AliHLTMUONESDMaker(); | |
46 | virtual ~AliHLTMUONESDMaker(); | |
47 | ||
48 | virtual const char* GetComponentID(); | |
49 | ||
50 | virtual void GetInputDataTypes(vector<AliHLTComponentDataType>& list); | |
51 | virtual AliHLTComponentDataType GetOutputDataType(); | |
52 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
53 | ||
54 | virtual AliHLTComponent* Spawn(); | |
55 | ||
56 | protected: | |
57 | ||
58 | virtual int DoInit(int argc, const char** argv); | |
59 | virtual int DoDeinit(); | |
60 | virtual int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); | |
61 | using AliHLTProcessor::DoEvent; | |
62 | ||
63 | private: | |
64 | ||
65 | // Prevent copying of these objects. | |
66 | AliHLTMUONESDMaker(const AliHLTMUONESDMaker& /*object*/); | |
67 | AliHLTMUONESDMaker& operator = (const AliHLTMUONESDMaker& /*object*/); | |
68 | ||
69 | bool fWarnForUnexpecedBlock; /// Flag indicating if we should log a warning if we got a block of an unexpected type. | |
70 | bool fMakeMinimalESD; /// Flag to indicate if a minimal ESD object should be created. | |
71 | ||
72 | ClassDef(AliHLTMUONESDMaker, 0); // Component for converting dHLT reconstructed data into the ESD format. | |
73 | }; | |
74 | ||
75 | #endif // ALIHLTMUONESDMAKER_H |