]>
Commit | Line | Data |
---|---|---|
ce392def | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | #ifndef ALIHLTGLOBALFLATESDTESTCOMPONENT_H | |
4 | #define ALIHLTGLOBALFLATESDTESTCOMPONENT_H | |
5 | //* This file is property of and copyright by the ALICE HLT Project * | |
6 | //* ALICE Experiment at CERN, All rights reserved. * | |
7 | //* See cxx source for full Copyright notice * | |
8 | ||
9 | // @file AliHLTGlobalFlatEsdTestComponent.h | |
10 | // @author Matthias Richter | |
11 | // @date | |
12 | // @brief Global ESD converter component. | |
13 | // @note | |
14 | ||
15 | #include "AliHLTProcessor.h" | |
16 | #include "AliHLTComponentBenchmark.h" | |
17 | #include <vector> | |
18 | ||
19 | ||
20 | /** | |
21 | * @class AliHLTGlobalFlatEsdTestComponent | |
22 | * Global collector for information designated for the HLT ESD. | |
23 | * | |
24 | * componentid: \b GlobalEsdConverter <br> | |
25 | * componentlibrary: \b libAliHLTGlobal.so <br> | |
26 | * Arguments: <br> | |
27 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
28 | * \li -notree <br> | |
29 | * write ESD directly to output (::kAliHLTDataTypeESDObject) | |
30 | * this has been made the default behavior in Sep 2008. | |
31 | * \li -tree <br> | |
32 | * write ESD directly to TTree and to output (::kAliHLTDataTypeESDTree) | |
33 | * \li -skipobject=name1,name2,... <br> | |
34 | * comma separated list of ESD object names to be skipped, default is | |
35 | * AliESDZDC,AliESDFMD,Cascades,Kinks,AliRawDataErrorLogs,AliESDACORDE | |
36 | * leave blank to disable the option | |
37 | * | |
38 | * @ingroup alihlt_tpc_components | |
39 | */ | |
40 | class AliHLTGlobalFlatEsdTestComponent : public AliHLTProcessor | |
41 | { | |
42 | public: | |
43 | /** standard constructor */ | |
44 | AliHLTGlobalFlatEsdTestComponent(); | |
45 | /** destructor */ | |
46 | virtual ~AliHLTGlobalFlatEsdTestComponent(); | |
47 | ||
48 | // interface methods of base class | |
49 | const char* GetComponentID() {return "GlobalFlatEsdTest";}; | |
50 | void GetInputDataTypes(AliHLTComponentDataTypeList& list); | |
51 | AliHLTComponentDataType GetOutputDataType(); | |
52 | void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
53 | AliHLTComponent* Spawn() {return new AliHLTGlobalFlatEsdTestComponent;} | |
54 | ||
55 | protected: | |
56 | // interface methods of base class | |
57 | int DoInit(int argc, const char** argv); | |
58 | int DoDeinit(); | |
59 | int DoEvent( const AliHLTComponentEventData& evtData, | |
60 | const AliHLTComponentBlockData* blocks, | |
61 | AliHLTComponentTriggerData& trigData, | |
62 | AliHLTUInt8_t* outputPtr, | |
63 | AliHLTUInt32_t& size, | |
64 | AliHLTComponentBlockDataList& outputBlocks ); | |
65 | ||
66 | using AliHLTProcessor::DoEvent; | |
67 | ||
68 | ||
69 | private: | |
70 | /** copy constructor prohibited */ | |
71 | AliHLTGlobalFlatEsdTestComponent(const AliHLTGlobalFlatEsdTestComponent&); | |
72 | /** assignment operator prohibited */ | |
73 | AliHLTGlobalFlatEsdTestComponent& operator=(const AliHLTGlobalFlatEsdTestComponent&); | |
74 | ||
75 | /** | |
76 | * (Re)Configure from the CDB | |
77 | * Loads the following objects: | |
78 | * - HLT/ConfigHLT/SolenoidBz | |
79 | */ | |
80 | int Reconfigure(const char* cdbEntry, const char* chainId); | |
81 | ||
82 | /** | |
83 | * Configure the component. | |
84 | * Parse a string for the configuration arguments and set the component | |
85 | * properties. | |
86 | */ | |
87 | int Configure(const char* arguments); | |
88 | ||
89 | int fWriteClusters; //!transient | |
90 | ||
91 | /// verbosity level | |
92 | int fVerbosity; //!transient | |
93 | ||
94 | protected: | |
95 | ||
96 | /// solenoid b field | |
97 | Double_t fSolenoidBz; //! transient | |
98 | AliHLTComponentBenchmark fBenchmark; // benchmark | |
99 | ||
100 | ClassDef(AliHLTGlobalFlatEsdTestComponent, 0) | |
101 | }; | |
102 | #endif |