Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 :
4 : #ifndef ALIHLTZDCESDRECOCOMPONENT_H
5 : #define ALIHLTZDCESDRECOCOMPONENT_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 AliHLTZDCESDRecoComponent.h
12 : @author Chiara Oppedisano <Chiara.Oppedisano@to.infn.it>
13 : @brief ZDC reconstruction component
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 : #include "AliESDEvent.h"
24 :
25 : class AliZDCReconstructor;
26 : class AliRawReaderMemory;
27 :
28 :
29 : /**
30 : * @class AliHLTZDCESDRecoComponent
31 : * Reconstruction of ZDC data
32 : *
33 : * <h2>General properties:</h2>
34 : *
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>
39 : *
40 : * <h2>Mandatory arguments:</h2>
41 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
42 : *
43 : * <h2>Optional arguments:</h2>
44 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
45 : *
46 : * <h2>Configuration:</h2>
47 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
48 : *
49 : * <h2>Default CDB entries:</h2>
50 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
51 : *
52 : * <tt>HLT/ConfigZDC/ZDCESDReco</tt>
53 : * \li -TObjString object holding a string with the configuration parameters
54 : * currently empty
55 : *
56 : * <tt>GRP/GRP/Data</tt>
57 : * \li -GRP object - run information
58 : *
59 : *
60 : * <h2>Performance:</h2>
61 : *
62 : * <h2>Memory consumption:</h2>
63 : *
64 : * <h2>Input size:</h2>
65 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
66 : *
67 : * \li pp: xx Byte
68 : *
69 : * <h2>Output size:</h2>
70 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
71 : *
72 : * \li pp: Average : xx kByte
73 : *
74 : * <h2>Macros Tests</h2>
75 : * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
76 : *
77 : * <tt>macros/makeConfigurationObjectZDCReconstruction.C</tt>
78 : * \li - Create configuration TObjString
79 : *
80 : * <tt>macros/HLTZDCTest.C</tt>
81 : * \li - Test macro for ZDC test in off-line environment
82 : *
83 : * <tt>macros/runZDCTest.sh</tt>
84 : * \li - Run Test macro HLTZDCTest.C
85 : *
86 : * @ingroup alihlt_zdc
87 : */
88 : class AliHLTZDCESDRecoComponent : public AliHLTProcessor
89 : {
90 : public:
91 :
92 : /** constructor */
93 : AliHLTZDCESDRecoComponent();
94 : /** destructor */
95 : virtual ~AliHLTZDCESDRecoComponent();
96 :
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();
107 :
108 :
109 : protected:
110 : /** interface function, see @ref AliHLTComponent for description */
111 : int DoInit( int argc, const char** argv );
112 : /** interface function, see @ref AliHLTComponent for description */
113 : int DoDeinit();
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);
122 :
123 : using AliHLTProcessor::DoEvent;
124 :
125 :
126 : private:
127 : /** copy constructor prohibited */
128 : AliHLTZDCESDRecoComponent(const AliHLTZDCESDRecoComponent&);
129 : /** assignment operator prohibited */
130 : AliHLTZDCESDRecoComponent& operator=(const AliHLTZDCESDRecoComponent&);
131 :
132 : /** rawreader instance */
133 : AliRawReaderMemory *fRawReader; //! transient
134 :
135 : /** ZDC reconstructor instance */
136 : AliZDCReconstructor *fReconstructor; //! ZDC reconstructor
137 :
138 6 : ClassDef(AliHLTZDCESDRecoComponent, 0)
139 :
140 : };
141 :
142 : #endif
|