]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliHLTGlobalFlatEsdTestComponent.h
Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalFlatEsdTestComponent.h
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