]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/ZDC/AliHLTZDCESDRecoComponent.h
Removed depricted histograms ... cleanup
[u/mrichter/AliRoot.git] / HLT / ZDC / AliHLTZDCESDRecoComponent.h
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         ClassDef(AliHLTZDCESDRecoComponent, 0)
139
140 };
141
142 #endif