4 #ifndef ALIHLTZDCESDRECOCOMPONENT_H
5 #define ALIHLTZDCESDRECOCOMPONENT_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 AliHLTZDCESDRecoComponent.h
12 @author Chiara Oppedisano <Chiara.Oppedisano@to.infn.it>
13 @brief ZDC reconstruction component
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"
23 #include "AliESDEvent.h"
25 class AliZDCReconstructor;
26 class AliRawReaderMemory;
30 * @class AliHLTZDCESDRecoComponent
31 * Reconstruction of ZDC data
33 * <h2>General properties:</h2>
35 * Component ID: \b ZDCESDReco <br>
36 * Library: \b libAliHLTZDC.so <br>
37 * Input Data Types: @ref kAliHLTDataTypeDDLRaw <br>
38 * Output Data Types: @ref kAliHLTDataTypeESDContent|kAliHLTDataOriginZDC <br>
40 * <h2>Mandatory arguments:</h2>
41 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
43 * <h2>Optional arguments:</h2>
44 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
46 * <h2>Configuration:</h2>
47 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
49 * <h2>Default CDB entries:</h2>
50 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
52 * <tt>HLT/ConfigZDC/ZDCESDReco</tt>
53 * \li -TObjString object holding a string with the configuration parameters
56 * <tt>GRP/GRP/Data</tt>
57 * \li -GRP object - run information
60 * <h2>Performance:</h2>
62 * <h2>Memory consumption:</h2>
64 * <h2>Input size:</h2>
65 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
69 * <h2>Output size:</h2>
70 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
72 * \li pp: Average : xx kByte
74 * <h2>Macros Tests</h2>
75 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
77 * <tt>macros/makeConfigurationObjectZDCReconstruction.C</tt>
78 * \li - Create configuration TObjString
80 * <tt>macros/HLTZDCTest.C</tt>
81 * \li - Test macro for ZDC test in off-line environment
83 * <tt>macros/runZDCTest.sh</tt>
84 * \li - Run Test macro HLTZDCTest.C
88 class AliHLTZDCESDRecoComponent : public AliHLTProcessor
93 AliHLTZDCESDRecoComponent();
95 virtual ~AliHLTZDCESDRecoComponent();
97 /** interface function, see @ref AliHLTComponent for description */
98 const char* GetComponentID();
99 /** interface function, see @ref AliHLTComponent for description */
100 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
101 /** interface function, see @ref AliHLTComponent for description */
102 AliHLTComponentDataType GetOutputDataType();
103 /** interface function, see @ref AliHLTComponent for description */
104 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
105 /** interface function, see @ref AliHLTComponent for description */
106 AliHLTComponent* Spawn();
110 /** interface function, see @ref AliHLTComponent for description */
111 int DoInit( int argc, const char** argv );
112 /** interface function, see @ref AliHLTComponent for description */
114 /** interface function, see @ref AliHLTComponent for description */
115 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
116 /** interface function, see @ref AliHLTComponent for description */
117 int ScanConfigurationArgument(int argc, const char** argv);
118 /** interface function, see @ref AliHLTComponent for description */
119 int Reconfigure(const char* cdbEntry, const char* chainId);
120 /** interface function, see @ref AliHLTComponent for description */
121 int ReadPreprocessorValues(const char* modules);
123 using AliHLTProcessor::DoEvent;
127 /** copy constructor prohibited */
128 AliHLTZDCESDRecoComponent(const AliHLTZDCESDRecoComponent&);
129 /** assignment operator prohibited */
130 AliHLTZDCESDRecoComponent& operator=(const AliHLTZDCESDRecoComponent&);
132 /** rawreader instance */
133 AliRawReaderMemory *fRawReader; //! transient
135 /** ZDC reconstructor instance */
136 AliZDCReconstructor *fReconstructor; //! ZDC reconstructor
138 ClassDef(AliHLTZDCESDRecoComponent, 0)