added friends to compare component
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalEsdToFlatConverterComponent.h
CommitLineData
eb84342b 1//-*- Mode: C++ -*-
2// $Id: AliHLTGlobalEsdToFlatConverterComponent $
3
4#ifndef ALIHLTESDTOFLATCONVERTERCOMPONENT_H
5#define ALIHLTESDTOFLATCONVERTERCOMPONENT_H
6
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 */
10
11/** @file AliHLTGlobalEsdToFlatConverterComponent.h
12 @author Steffen Weber <s.weber@gsi.de>
13 @brief Component to convert ESD objects to flatESD objects
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22#include "AliHLTProcessor.h"
23
24class TH1F;
25class TList;
26
27class AliESDVZERO;
28class AliESDtrackCuts;
29class AliHLTCTPData;
30class AliHLTMultiplicityCorrelations;
31class AliHLTGlobalTriggerDecision;
32class AliHLTTestInputHandler;
33
34class AliHLTGlobalEsdToFlatConverterComponent : public AliHLTProcessor {
35public:
36
37 /*
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
41 */
42
43 /** constructor */
44 AliHLTGlobalEsdToFlatConverterComponent();
45
46 /** destructor */
47 virtual ~AliHLTGlobalEsdToFlatConverterComponent();
48
49 /*
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
54 */
55
56 /** interface function, see @ref AliHLTComponent for description */
57 const Char_t* GetComponentID();
58
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
61
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
64
65 /** interface function, see @ref AliHLTComponent for description */
a88a189e 66 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
67
68 /** interface function, see @ref AliHLTComponent for description */
eb84342b 69 void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier );
70
71 /** interface function, see @ref AliHLTComponent for description */
e2346810 72 // void GetOCDBObjectDescription( TMap* const targetMap);
eb84342b 73
74 /** interface function, see @ref AliHLTComponent for description */
75 AliHLTComponent* Spawn();
76
77 protected:
78
79 /*
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 * ---------------------------------------------------------------------------------
85 */
86
87 // AliHLTComponent interface functions
88
89 /** interface function, see @ref AliHLTComponent for description */
90 Int_t DoInit( Int_t /*argc*/, const Char_t** /*argv*/ );
91
92 /** interface function, see @ref AliHLTComponent for description */
93 Int_t DoDeinit();
94
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);
102
103 using AliHLTProcessor::DoEvent;
104
105
106 /**
107 * Configure the component.
108 * Parse a string for the configuration arguments and set the component
109 * properties.
110 */
111 int Configure(const char* arguments);
112
113 /** interface function, see @ref AliHLTComponent for description */
114 Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId);
115
116 /** interface function, see @ref AliHLTComponent for description */
117 Int_t ReadPreprocessorValues(const Char_t* modules);
118
119 ///////////////////////////////////////////////////////////////////////////////////
120
121private:
122
123 /*
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 * ---------------------------------------------------------------------------------
129 */
130
131 /** copy constructor prohibited */
132 AliHLTGlobalEsdToFlatConverterComponent(const AliHLTGlobalEsdToFlatConverterComponent&);
133
134 /** assignment operator prohibited */
135 AliHLTGlobalEsdToFlatConverterComponent& operator=(const AliHLTGlobalEsdToFlatConverterComponent&);
136
137
138 /*
139 * ---------------------------------------------------------------------------------
140 * Helper
141 * ---------------------------------------------------------------------------------
142 */
143
144 /*
145 * ---------------------------------------------------------------------------------
146 * Members - private
147 * ---------------------------------------------------------------------------------
148 */
149
150 /** UID for merging */
151
152 ClassDef(AliHLTGlobalEsdToFlatConverterComponent, 0)
153};
154#endif