]>
Commit | Line | Data |
---|---|---|
32e0c022 | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | // $Id$ | |
4 | ||
5 | #ifndef ALIHLTTPCCALIBRATIONAGENT_H | |
6 | #define ALIHLTTPCCALIBRATIONAGENT_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 * | |
10 | ||
11 | /** @file AliHLTTPCCalibrationAgent.h | |
12 | @author Kalliopi Kanaki | |
13 | @date | |
14 | @brief Agent of the libAliHLTTPCCalibration library | |
15 | */ | |
16 | ||
17 | #include "AliHLTModuleAgent.h" | |
18 | ||
19 | // raw data handler of HLTOUT data | |
20 | #include "AliHLTOUTHandlerEquId.h" | |
21 | ||
22 | /** | |
23 | * @class AliHLTTPCCalibrationAgent | |
24 | * This is the agent for the AliHLTTPCCalibration library.<br> | |
25 | * | |
26 | * @ingroup alihlt_tpc | |
27 | */ | |
28 | class AliHLTTPCCalibrationAgent : public AliHLTModuleAgent { | |
29 | public: | |
30 | ||
31 | /* | |
32 | * --------------------------------------------------------------------------------- | |
33 | * Constructor / Destructor | |
34 | * --------------------------------------------------------------------------------- | |
35 | */ | |
36 | ||
37 | /** | |
38 | * standard constructor. The agent is automatically registered in the | |
39 | * global agent manager | |
40 | */ | |
41 | AliHLTTPCCalibrationAgent(); | |
42 | ||
43 | /** destructor */ | |
44 | virtual ~AliHLTTPCCalibrationAgent(); | |
45 | ||
46 | /* | |
47 | * --------------------------------------------------------------------------------- | |
48 | * | |
49 | * --------------------------------------------------------------------------------- | |
50 | */ | |
51 | ||
52 | /** | |
53 | * Register all configurations belonging to the sample library with the | |
54 | * AliHLTConfigurationHandler. The agent can adapt the configurations | |
55 | * to be registered to the current AliRoot setup by checking the | |
56 | * runloader. | |
57 | * @param handler [in] the configuration handler | |
58 | * @param rawReader [in] AliRoot RawReader instance | |
59 | * @param runloader [in] AliRoot runloader | |
60 | * @return neg. error code if failed | |
61 | */ | |
62 | Int_t CreateConfigurations(AliHLTConfigurationHandler* handler, | |
63 | AliRawReader* rawReader=NULL, | |
64 | AliRunLoader* runloader=NULL) const; | |
65 | ||
66 | /** | |
67 | * Get the top configurations for local event reconstruction. | |
68 | * A top configuration describes a processing chain. It can simply be | |
69 | * described by the last configuration(s) in the chain. | |
70 | * The agent can adapt the configurations to be registered to the current | |
71 | * AliRoot setup by checking the runloader. | |
72 | * @param rawReader [in] AliRoot RawReader instance | |
73 | * @param runloader [in] AliRoot runloader | |
74 | * @return string containing the top configurations separated by blanks | |
75 | */ | |
76 | const Char_t* GetReconstructionChains(AliRawReader* rawReader=NULL, | |
77 | AliRunLoader* runloader=NULL) const; | |
78 | ||
79 | /** | |
80 | * Component libraries which the configurations of this agent depend on. | |
81 | * @return list of component libraries as a blank-separated string. | |
82 | */ | |
83 | const Char_t* GetRequiredComponentLibraries() const; | |
84 | ||
85 | /** | |
86 | * Register components for the AliHLTSample library. | |
87 | * @param pHandler [in] instance of the component handler | |
88 | */ | |
89 | Int_t RegisterComponents(AliHLTComponentHandler* pHandler) const; | |
90 | ||
91 | /* | |
92 | * --------------------------------------------------------------------------------- | |
93 | * | |
94 | * --------------------------------------------------------------------------------- | |
95 | */ | |
96 | ||
97 | /** | |
98 | * | |
99 | */ | |
100 | AliHLTModulePreprocessor* GetPreprocessor(); | |
101 | ||
102 | /* | |
103 | * --------------------------------------------------------------------------------- | |
104 | * | |
105 | * --------------------------------------------------------------------------------- | |
106 | */ | |
107 | ||
108 | /** | |
109 | * | |
110 | */ | |
111 | Int_t GetHandlerDescription(AliHLTComponentDataType dt, | |
112 | AliHLTUInt32_t spec, | |
113 | AliHLTOUTHandlerDesc& desc) const; | |
114 | ||
115 | /** | |
116 | * | |
117 | */ | |
118 | AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, | |
119 | AliHLTUInt32_t spec); | |
120 | ||
121 | /** | |
122 | * | |
123 | */ | |
124 | Int_t DeleteOutputHandler(AliHLTOUTHandler* pInstance); | |
125 | ||
126 | /* | |
127 | class AliHLTOUTSDDRawDataHandler: public AliHLTOUTHandlerEquId { | |
128 | public: | |
129 | AliHLTOUTSDDRawDataHandler() {} | |
130 | ~AliHLTOUTSDDRawDataHandler() {} | |
131 | int ProcessData(AliHLTOUT* pData); | |
132 | private: | |
133 | }; | |
134 | */ | |
135 | ||
136 | protected: | |
137 | ||
138 | private: | |
139 | ||
140 | /* | |
141 | * --------------------------------------------------------------------------------- | |
142 | * Private functions to implement AliHLTComponent's interface. | |
143 | * These functions provide initialization as well as the actual processing | |
144 | * capabilities of the component. | |
145 | * --------------------------------------------------------------------------------- | |
146 | */ | |
147 | ||
148 | /** Copy constructor prohibited */ | |
149 | AliHLTTPCCalibrationAgent(const AliHLTTPCCalibrationAgent&); | |
150 | ||
151 | /** Assignment operator prohibited */ | |
152 | AliHLTTPCCalibrationAgent& operator=(const AliHLTTPCCalibrationAgent&); | |
153 | ||
154 | /* | |
155 | * --------------------------------------------------------------------------------- | |
156 | * Members | |
157 | * --------------------------------------------------------------------------------- | |
158 | */ | |
159 | ||
160 | /** Handler for TPC calibration data in the HLTOUT stream */ | |
161 | AliHLTOUTHandlerEquId* fRawDataHandler; //!transient | |
162 | ||
163 | /** ROOT specific member definition */ | |
164 | ClassDef(AliHLTTPCCalibrationAgent, 0); | |
165 | }; | |
166 | ||
167 | #endif |