2 // $Id: AliHLTGlobalEsdToFlatConverterComponent $
4 #ifndef ALIHLTESDTOFLATCONVERTERCOMPONENT_H
5 #define ALIHLTESDTOFLATCONVERTERCOMPONENT_H
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 */
11 /** @file AliHLTGlobalEsdToFlatConverterComponent.h
12 @author Steffen Weber <s.weber@gsi.de>
13 @brief Component to convert ESD objects to flatESD objects
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
28 class AliESDtrackCuts;
30 class AliHLTMultiplicityCorrelations;
31 class AliHLTGlobalTriggerDecision;
32 class AliHLTTestInputHandler;
34 class AliHLTGlobalEsdToFlatConverterComponent : public AliHLTProcessor {
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
44 AliHLTGlobalEsdToFlatConverterComponent();
47 virtual ~AliHLTGlobalEsdToFlatConverterComponent();
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
56 /** interface function, see @ref AliHLTComponent for description */
57 const Char_t* GetComponentID();
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
65 /** interface function, see @ref AliHLTComponent for description */
66 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
68 /** interface function, see @ref AliHLTComponent for description */
69 void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
71 /** interface function, see @ref AliHLTComponent for description */
72 // void GetOCDBObjectDescription( TMap* const targetMap);
74 /** interface function, see @ref AliHLTComponent for description */
75 AliHLTComponent* Spawn();
80 * ---------------------------------------------------------------------------------
81 * Protected functions to implement AliHLTComponent's interface.
82 * These functions provide initialization as well as the actual processing
83 * capabilities of the component.
84 * ---------------------------------------------------------------------------------
87 // AliHLTComponent interface functions
89 /** interface function, see @ref AliHLTComponent for description */
90 Int_t DoInit( Int_t /*argc*/, const Char_t** /*argv*/ );
92 /** interface function, see @ref AliHLTComponent for description */
95 /** interface function, see @ref AliHLTComponent for description */
96 int DoEvent( const AliHLTComponentEventData& evtData,
97 const AliHLTComponentBlockData* blocks,
98 AliHLTComponentTriggerData& trigData,
99 AliHLTUInt8_t* outputPtr,
100 AliHLTUInt32_t& size,
101 AliHLTComponentBlockDataList& outputBlocks);
103 using AliHLTProcessor::DoEvent;
107 * Configure the component.
108 * Parse a string for the configuration arguments and set the component
111 int Configure(const char* arguments);
113 /** interface function, see @ref AliHLTComponent for description */
114 Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
116 /** interface function, see @ref AliHLTComponent for description */
117 Int_t ReadPreprocessorValues(const Char_t* modules);
119 ///////////////////////////////////////////////////////////////////////////////////
124 * ---------------------------------------------------------------------------------
125 * Private functions to implement AliHLTComponent's interface.
126 * These functions provide initialization as well as the actual processing
127 * capabilities of the component.
128 * ---------------------------------------------------------------------------------
131 /** copy constructor prohibited */
132 AliHLTGlobalEsdToFlatConverterComponent(const AliHLTGlobalEsdToFlatConverterComponent&);
134 /** assignment operator prohibited */
135 AliHLTGlobalEsdToFlatConverterComponent& operator=(const AliHLTGlobalEsdToFlatConverterComponent&);
139 * ---------------------------------------------------------------------------------
141 * ---------------------------------------------------------------------------------
145 * ---------------------------------------------------------------------------------
147 * ---------------------------------------------------------------------------------
150 /** UID for merging */
152 ClassDef(AliHLTGlobalEsdToFlatConverterComponent, 0)