]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/AliHLTGlobalFlatEsdTestComponent.h
Merge branch 'flatdev' of https://git.cern.ch/reps/AliRoot into flatdev
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalFlatEsdTestComponent.h
CommitLineData
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 */
40class 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
94protected:
95
96 /// solenoid b field
97 Double_t fSolenoidBz; //! transient
98 AliHLTComponentBenchmark fBenchmark; // benchmark
99
100 ClassDef(AliHLTGlobalFlatEsdTestComponent, 0)
101};
102#endif