]>
Commit | Line | Data |
---|---|---|
a34b6698 | 1 | \section{Ali\-HLTModule\-Agent Class Reference} |
2 | \label{classAliHLTModuleAgent}\index{AliHLTModuleAgent@{AliHLTModuleAgent}} | |
3 | {\tt \#include $<$Ali\-HLTModule\-Agent.h$>$} | |
4 | ||
5 | Inheritance diagram for Ali\-HLTModule\-Agent::\begin{figure}[H] | |
6 | \begin{center} | |
7 | \leavevmode | |
8 | \includegraphics[height=2cm]{classAliHLTModuleAgent} | |
9 | \end{center} | |
10 | \end{figure} | |
11 | ||
12 | ||
13 | \subsection{Detailed Description} | |
14 | Agent helper class for HLT sub modules, e.g. PHOS, TPC, Trigger. | |
15 | ||
16 | This class implements the agent base class for the HLT sub modules. The agent of a library gives information on the features of the library/ components, like the configurations to run and other component libraries it depends on. \begin{Desc} | |
17 | \item[Note:]There must not be more than one agent per module/library.\end{Desc} | |
18 | All HLT component libraries are loaded on demand through the HLT steering instance ({\bf Ali\-HLTSystem}{\rm (p.\,\pageref{classAliHLTSystem})}). A library can implement an agent derived from this base class, and has to define one global object of this agent in the code. The agent will be registered automatically, and the features can be queried when required. | |
19 | ||
20 | This is usually done during running the Ali\-Root reconstruction (see Ali\-Root documentation on {\tt Ali\-Reconstruction}). The HLT implemets the Ali\-HLTReconstructor which holds the HLT steering object. Several flags can be specified as options via the {\tt Set\-Option} method of {\tt Ali\-Reconstruction}, including the component libraries to be loaded.\subsection{Agent interface}\label{classAliHLTModuleAgent_alihltmoduleagent_interface} | |
21 | The child can implement the following functions:\begin{itemize} | |
22 | \item {\bf Create\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a4})} \par | |
23 | create HLT configuration forming an HLT analysis chain.\end{itemize} | |
24 | ||
25 | ||
26 | \begin{itemize} | |
27 | \item {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})} \par | |
28 | configurations run during local event reconstruction. \begin{Desc} | |
29 | \item[Note:]Local event reconstruction is the first step of the reconstruction chain. All events are processed at once. \par | |
30 | \end{Desc} | |
31 | \item {\bf Get\-Event\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a6})} \par | |
32 | configurations run during event reconstruction. \begin{Desc} | |
33 | \item[Note:]This is the reconstruction on event by event basis. \par | |
34 | \end{Desc} | |
35 | \item {\bf Get\-Required\-Component\-Libraries}{\rm (p.\,\pageref{classAliHLTModuleAgent_a7})} \par | |
36 | can indicate further libraries which are required for running the chains (e.g. if components of another library are used).\end{itemize} | |
37 | ||
38 | ||
39 | \begin{itemize} | |
40 | \item {\bf Register\-Components}{\rm (p.\,\pageref{classAliHLTModuleAgent_a8})} \par | |
41 | register componens, this can be used to avoid the component registration via global objects \begin{Desc} | |
42 | \item[See also:]{\bf Component handling}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-handling})} \par | |
43 | \end{Desc} | |
44 | \end{itemize} | |
45 | \subsection{References}\label{classAliHLTModuleAgent_alihltmoduleagent_references} | |
46 | \begin{Desc} | |
47 | \item[See also:]Ali\-HLTReconstructor interface to the Ali\-Root reconstruction | |
48 | ||
49 | Ali\-HLTAgent\-Sample agent for the lib\-Ali\-HLTSample library \end{Desc} | |
50 | ||
51 | ||
52 | ||
53 | ||
54 | Definition at line 74 of file Ali\-HLTModule\-Agent.h.\subsection*{Public Member Functions} | |
55 | \begin{CompactItemize} | |
56 | \item | |
57 | {\bf Ali\-HLTModule\-Agent} () | |
58 | \item | |
59 | {\bf Ali\-HLTModule\-Agent} (const {\bf Ali\-HLTModule\-Agent} \&) | |
60 | \item | |
61 | {\bf Ali\-HLTModule\-Agent} \& {\bf operator=} (const {\bf Ali\-HLTModule\-Agent} \&) | |
62 | \item | |
63 | virtual {\bf $\sim$Ali\-HLTModule\-Agent} () | |
64 | \item | |
65 | virtual int {\bf Create\-Configurations} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$handler, Ali\-Run\-Loader $\ast$runloader=NULL) const | |
66 | \item | |
67 | virtual const char $\ast$ {\bf Get\-Local\-Rec\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const | |
68 | \item | |
69 | virtual const char $\ast$ {\bf Get\-Event\-Rec\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const | |
70 | \item | |
71 | virtual const char $\ast$ {\bf Get\-Required\-Component\-Libraries} () const | |
72 | \item | |
73 | virtual int {\bf Register\-Components} (Ali\-Run\-Loader $\ast$runloader=NULL) const | |
74 | \item | |
75 | const char $\ast$ {\bf Get\-Top\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const | |
76 | \end{CompactItemize} | |
77 | \subsection*{Static Public Member Functions} | |
78 | \begin{CompactItemize} | |
79 | \item | |
80 | void {\bf Print\-Status} (const char $\ast$agent=NULL) | |
81 | \item | |
82 | {\bf Ali\-HLTModule\-Agent} $\ast$ {\bf Get\-First\-Agent} () | |
83 | \item | |
84 | {\bf Ali\-HLTModule\-Agent} $\ast$ {\bf Get\-Next\-Agent} () | |
85 | \end{CompactItemize} | |
86 | \subsection*{Private Member Functions} | |
87 | \begin{CompactItemize} | |
88 | \item | |
89 | {\bf Class\-Def} ({\bf Ali\-HLTModule\-Agent}, 0) | |
90 | \end{CompactItemize} | |
91 | \subsection*{Static Private Member Functions} | |
92 | \begin{CompactItemize} | |
93 | \item | |
94 | int {\bf Register} ({\bf Ali\-HLTModule\-Agent} $\ast$p\-Agent) | |
95 | \item | |
96 | int {\bf Unregister} ({\bf Ali\-HLTModule\-Agent} $\ast$p\-Agent) | |
97 | \end{CompactItemize} | |
98 | \subsection*{Static Private Attributes} | |
99 | \begin{CompactItemize} | |
100 | \item | |
101 | TList {\bf fg\-Agent\-List} | |
102 | \item | |
103 | TObj\-Link $\ast$ {\bf fg\-Current\-Lnk} = NULL | |
104 | \end{CompactItemize} | |
105 | ||
106 | ||
107 | \subsection{Constructor \& Destructor Documentation} | |
108 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!AliHLTModuleAgent@{AliHLTModuleAgent}} | |
109 | \index{AliHLTModuleAgent@{AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
110 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Ali\-HLTModule\-Agent ()}\label{classAliHLTModuleAgent_a0} | |
111 | ||
112 | ||
113 | standard constructor. The agent is automatically registered in the global agent manager \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!AliHLTModuleAgent@{AliHLTModuleAgent}} | |
114 | \index{AliHLTModuleAgent@{AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
115 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Ali\-HLTModule\-Agent (const {\bf Ali\-HLTModule\-Agent} \&)}\label{classAliHLTModuleAgent_a1} | |
116 | ||
117 | ||
118 | not a valid copy constructor, defined according to effective C++ style | |
119 | ||
120 | Definition at line 40 of file Ali\-HLTModule\-Agent.cxx. | |
121 | ||
122 | \footnotesize\begin{verbatim}41 : | |
123 | 42 TObject(), | |
124 | 43 AliHLTLogging() | |
125 | 44 { | |
126 | 45 // see header file for function documentation | |
127 | 46 } | |
128 | ||
129 | \end{verbatim}\normalsize | |
130 | ||
131 | ||
132 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!~AliHLTModuleAgent@{$\sim$AliHLTModuleAgent}} | |
133 | \index{~AliHLTModuleAgent@{$\sim$AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
134 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::$\sim${\bf Ali\-HLTModule\-Agent} ()\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a3} | |
135 | ||
136 | ||
137 | destructor | |
138 | ||
139 | Definition at line 57 of file Ali\-HLTModule\-Agent.cxx. | |
140 | ||
141 | References Unregister(). | |
142 | ||
143 | \footnotesize\begin{verbatim}58 { | |
144 | 59 // see header file for function documentation | |
145 | 60 Unregister(this); | |
146 | 61 } | |
147 | \end{verbatim}\normalsize | |
148 | ||
149 | ||
150 | ||
151 | ||
152 | \subsection{Member Function Documentation} | |
153 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!ClassDef@{ClassDef}} | |
154 | \index{ClassDef@{ClassDef}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
155 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Class\-Def ({\bf Ali\-HLTModule\-Agent}, 0)\hspace{0.3cm}{\tt [private]}}\label{classAliHLTModuleAgent_d0} | |
156 | ||
157 | ||
158 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!CreateConfigurations@{CreateConfigurations}} | |
159 | \index{CreateConfigurations@{CreateConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
160 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Create\-Configurations ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em handler}, Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a4} | |
161 | ||
162 | ||
163 | Register all configurations belonging to this module with the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})}. The agent can adapt the configurations to be registered to the current Ali\-Root setup by checking the runloader. \begin{Desc} | |
164 | \item[Parameters:] | |
165 | \begin{description} | |
166 | \item[{\em handler}][in] the configuration handler \item[{\em runloader}][in] Ali\-Root runloader \end{description} | |
167 | \end{Desc} | |
168 | \begin{Desc} | |
169 | \item[Returns:]neg. error code if failed \end{Desc} | |
170 | ||
171 | ||
172 | Definition at line 92 of file Ali\-HLTModule\-Agent.cxx. | |
173 | ||
174 | Referenced by Ali\-HLTSystem::Load\-Configurations(). | |
175 | ||
176 | \footnotesize\begin{verbatim}94 { | |
177 | 95 // default method, nothing to be done, child classes can overload | |
178 | 96 if (handler==NULL && runloader==NULL) { | |
179 | 97 // get rid of 'unused parameter' warning | |
180 | 98 } | |
181 | 99 return 0; | |
182 | 100 } | |
183 | \end{verbatim}\normalsize | |
184 | ||
185 | ||
186 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetEventRecConfigurations@{GetEventRecConfigurations}} | |
187 | \index{GetEventRecConfigurations@{GetEventRecConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
188 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Event\-Rec\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a6} | |
189 | ||
190 | ||
191 | Get the top configurations for event reconstruction. The same as for {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})}, but for the reconstruction on event by event basis. \begin{Desc} | |
192 | \item[Parameters:] | |
193 | \begin{description} | |
194 | \item[{\em runloader}][in] Ali\-Root runloader \end{description} | |
195 | \end{Desc} | |
196 | \begin{Desc} | |
197 | \item[Returns:]string containing the top configurations separated by blanks \end{Desc} | |
198 | ||
199 | ||
200 | Definition at line 111 of file Ali\-HLTModule\-Agent.cxx. | |
201 | ||
202 | \footnotesize\begin{verbatim}112 { | |
203 | 113 // default method, nothing to be done, child classes can overload | |
204 | 114 if (runloader==NULL) { | |
205 | 115 // get rid of 'unused parameter' warning | |
206 | 116 } | |
207 | 117 return NULL; | |
208 | 118 } | |
209 | \end{verbatim}\normalsize | |
210 | ||
211 | ||
212 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetFirstAgent@{GetFirstAgent}} | |
213 | \index{GetFirstAgent@{GetFirstAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
214 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} $\ast$ Ali\-HLTModule\-Agent::Get\-First\-Agent ()\hspace{0.3cm}{\tt [static]}}\label{classAliHLTModuleAgent_e1} | |
215 | ||
216 | ||
217 | Get the first agent in the list \begin{Desc} | |
218 | \item[Returns:]pointer to first agent in the list, NULL if empty \end{Desc} | |
219 | ||
220 | ||
221 | Definition at line 135 of file Ali\-HLTModule\-Agent.cxx. | |
222 | ||
223 | References fg\-Agent\-List, and fg\-Current\-Lnk. | |
224 | ||
225 | Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Ali\-HLTSystem::Load\-Configurations(). | |
226 | ||
227 | \footnotesize\begin{verbatim}136 { | |
228 | 137 // see header file for function documentation | |
229 | 138 fgCurrentLnk=fgAgentList.FirstLink(); | |
230 | 139 if (fgCurrentLnk==NULL) return NULL; | |
231 | 140 return (AliHLTModuleAgent*)fgCurrentLnk->GetObject(); | |
232 | 141 } | |
233 | \end{verbatim}\normalsize | |
234 | ||
235 | ||
236 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetLocalRecConfigurations@{GetLocalRecConfigurations}} | |
237 | \index{GetLocalRecConfigurations@{GetLocalRecConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
238 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Local\-Rec\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a5} | |
239 | ||
240 | ||
241 | Get the top configurations for local event reconstruction. A top configuration describes a processing chain. It can simply be described by the last configuration(s) in the chain. The agent can adapt the configurations to be registered to the current Ali\-Root setup by checking the runloader. \begin{Desc} | |
242 | \item[Parameters:] | |
243 | \begin{description} | |
244 | \item[{\em runloader}][in] Ali\-Root runloader \end{description} | |
245 | \end{Desc} | |
246 | \begin{Desc} | |
247 | \item[Returns:]string containing the top configurations separated by blanks \end{Desc} | |
248 | ||
249 | ||
250 | Definition at line 102 of file Ali\-HLTModule\-Agent.cxx. | |
251 | ||
252 | Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Get\-Top\-Configurations(). | |
253 | ||
254 | \footnotesize\begin{verbatim}103 { | |
255 | 104 // default method, nothing to be done, child classes can overload | |
256 | 105 if (runloader==NULL) { | |
257 | 106 // get rid of 'unused parameter' warning | |
258 | 107 } | |
259 | 108 return NULL; | |
260 | 109 } | |
261 | \end{verbatim}\normalsize | |
262 | ||
263 | ||
264 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetNextAgent@{GetNextAgent}} | |
265 | \index{GetNextAgent@{GetNextAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
266 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} $\ast$ Ali\-HLTModule\-Agent::Get\-Next\-Agent ()\hspace{0.3cm}{\tt [static]}}\label{classAliHLTModuleAgent_e2} | |
267 | ||
268 | ||
269 | Get the next agent in the list \begin{Desc} | |
270 | \item[Returns:]pointer to next agent in the list, NULL if end of list \end{Desc} | |
271 | ||
272 | ||
273 | Definition at line 143 of file Ali\-HLTModule\-Agent.cxx. | |
274 | ||
275 | References fg\-Current\-Lnk. | |
276 | ||
277 | Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Ali\-HLTSystem::Load\-Configurations(). | |
278 | ||
279 | \footnotesize\begin{verbatim}144 { | |
280 | 145 // see header file for function documentation | |
281 | 146 if (fgCurrentLnk==NULL) return NULL; | |
282 | 147 fgCurrentLnk=fgCurrentLnk->Next(); | |
283 | 148 if (fgCurrentLnk==NULL) return NULL; | |
284 | 149 return (AliHLTModuleAgent*)fgCurrentLnk->GetObject(); | |
285 | 150 } | |
286 | \end{verbatim}\normalsize | |
287 | ||
288 | ||
289 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetRequiredComponentLibraries@{GetRequiredComponentLibraries}} | |
290 | \index{GetRequiredComponentLibraries@{GetRequiredComponentLibraries}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
291 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Required\-Component\-Libraries () const\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a7} | |
292 | ||
293 | ||
294 | Component libraries which the configurations of this agent depend on. \begin{Desc} | |
295 | \item[Returns:]list of component libraries as a blank-separated string. \end{Desc} | |
296 | ||
297 | ||
298 | Definition at line 120 of file Ali\-HLTModule\-Agent.cxx. | |
299 | ||
300 | Referenced by Ali\-HLTSystem::Load\-Configurations(). | |
301 | ||
302 | \footnotesize\begin{verbatim}121 { | |
303 | 122 // default method, nothing to be done, child classes can overload | |
304 | 123 return NULL; | |
305 | 124 } | |
306 | \end{verbatim}\normalsize | |
307 | ||
308 | ||
309 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetTopConfigurations@{GetTopConfigurations}} | |
310 | \index{GetTopConfigurations@{GetTopConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
311 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTModule\-Agent::Get\-Top\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt [inline]}}\label{classAliHLTModuleAgent_a9} | |
312 | ||
313 | ||
314 | Old method kept for backward compatibility, redirected to {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})}. | |
315 | ||
316 | Definition at line 159 of file Ali\-HLTModule\-Agent.h. | |
317 | ||
318 | References Get\-Local\-Rec\-Configurations(). | |
319 | ||
320 | \footnotesize\begin{verbatim}159 { | |
321 | 160 return GetLocalRecConfigurations(runloader); | |
322 | 161 } | |
323 | \end{verbatim}\normalsize | |
324 | ||
325 | ||
326 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!operator=@{operator=}} | |
327 | \index{operator=@{operator=}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
328 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} \& Ali\-HLTModule\-Agent::operator= (const {\bf Ali\-HLTModule\-Agent} \&)}\label{classAliHLTModuleAgent_a2} | |
329 | ||
330 | ||
331 | not a valid assignment op, but defined according to effective C++ style | |
332 | ||
333 | Definition at line 48 of file Ali\-HLTModule\-Agent.cxx. | |
334 | ||
335 | \footnotesize\begin{verbatim}49 { | |
336 | 50 // see header file for function documentation | |
337 | 51 return *this; | |
338 | 52 } | |
339 | \end{verbatim}\normalsize | |
340 | ||
341 | ||
342 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!PrintStatus@{PrintStatus}} | |
343 | \index{PrintStatus@{PrintStatus}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
344 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTModule\-Agent::Print\-Status (const char $\ast$ {\em agent} = {\tt NULL})\hspace{0.3cm}{\tt [static]}}\label{classAliHLTModuleAgent_e0} | |
345 | ||
346 | ||
347 | Print status info. Short summary on registered agents. This function acts globally on the list of agents if no specific agent is specified. | |
348 | ||
349 | Definition at line 63 of file Ali\-HLTModule\-Agent.cxx. | |
350 | ||
351 | References fg\-Agent\-List, k\-HLTLog\-Info, and Ali\-HLTLogging::Logging(). | |
352 | ||
353 | Referenced by Ali\-HLTSystem::Configure(). | |
354 | ||
355 | \footnotesize\begin{verbatim}64 { | |
356 | 65 // see header file for function documentation | |
357 | 66 AliHLTLogging log; | |
358 | 67 if (agent) { | |
359 | 68 TObject* pAgent=fgAgentList.FindObject(agent); | |
360 | 69 if (pAgent) { | |
361 | 70 log.Logging(kHLTLogInfo, "AliHLTModuleAgent::PrintStatus", "module agents", | |
362 | 71 "agent %s available", pAgent->GetName()); | |
363 | 72 } else { | |
364 | 73 log.Logging(kHLTLogInfo, "AliHLTModuleAgent::PrintStatus", "module agents", | |
365 | 74 "agent %s not found", agent); | |
366 | 75 } | |
367 | 76 } else { | |
368 | 77 TObjLink* lnk=fgAgentList.FirstLink(); | |
369 | 78 log.Logging(kHLTLogInfo, "AliHLT", "", "-----------------------"); | |
370 | 79 log.Logging(kHLTLogInfo, "AliHLT", "", "available module agents"); | |
371 | 80 if (lnk==NULL) | |
372 | 81 log.Logging(kHLTLogInfo, "AliHLT", "", " none"); | |
373 | 82 while (lnk) { | |
374 | 83 TString msg; | |
375 | 84 msg.Form(" %s : %p", ((AliHLTModuleAgent*)lnk->GetObject())->GetName(), lnk->GetObject()); | |
376 | 85 log.Logging(kHLTLogInfo, "AliHLT", "", msg.Data()); | |
377 | 86 lnk=lnk->Next(); | |
378 | 87 } | |
379 | 88 log.Logging(kHLTLogInfo, "AliHLT", "", "-----------------------"); | |
380 | 89 } | |
381 | 90 } | |
382 | \end{verbatim}\normalsize | |
383 | ||
384 | ||
385 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!Register@{Register}} | |
386 | \index{Register@{Register}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
387 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Register ({\bf Ali\-HLTModule\-Agent} $\ast$ {\em p\-Agent})\hspace{0.3cm}{\tt [static, private]}}\label{classAliHLTModuleAgent_h0} | |
388 | ||
389 | ||
390 | Register agent in the global list. \begin{Desc} | |
391 | \item[Returns:]neg. error code if failed \end{Desc} | |
392 | ||
393 | ||
394 | Definition at line 152 of file Ali\-HLTModule\-Agent.cxx. | |
395 | ||
396 | References fg\-Agent\-List, k\-HLTLog\-Debug, and Ali\-HLTLogging::Logging(). | |
397 | ||
398 | \footnotesize\begin{verbatim}153 { | |
399 | 154 // see header file for function documentation | |
400 | 155 AliHLTLogging log; | |
401 | 156 if (!pAgent) return -EINVAL; | |
402 | 157 if (fgAgentList.FindObject(pAgent)==NULL) { | |
403 | 158 log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Register", "", "module agent %p registered", pAgent); | |
404 | 159 fgAgentList.Add(pAgent); | |
405 | 160 } | |
406 | 161 return 0; | |
407 | 162 } | |
408 | \end{verbatim}\normalsize | |
409 | ||
410 | ||
411 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!RegisterComponents@{RegisterComponents}} | |
412 | \index{RegisterComponents@{RegisterComponents}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
413 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Register\-Components (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTModuleAgent_a8} | |
414 | ||
415 | ||
416 | Register componets. This method can be used to register components for the module instead of the 'static object approach'. Registration is don by passing a sample object to {\bf Ali\-HLTComponent\-Handler::Register\-Component}{\rm (p.\,\pageref{classAliHLTComponentHandler_a10})}\par | |
417 | {\em Note:\/} The sample object is owned by the agent, make sure to delete it. | |
418 | ||
419 | Definition at line 126 of file Ali\-HLTModule\-Agent.cxx. | |
420 | ||
421 | \footnotesize\begin{verbatim}127 { | |
422 | 128 if (runloader==NULL) { | |
423 | 129 // get rid of 'unused parameter' warning | |
424 | 130 } | |
425 | 131 // default method, nothing to be done, child classes can overload | |
426 | 132 return 0; | |
427 | 133 } | |
428 | \end{verbatim}\normalsize | |
429 | ||
430 | ||
431 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!Unregister@{Unregister}} | |
432 | \index{Unregister@{Unregister}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
433 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Unregister ({\bf Ali\-HLTModule\-Agent} $\ast$ {\em p\-Agent})\hspace{0.3cm}{\tt [static, private]}}\label{classAliHLTModuleAgent_h1} | |
434 | ||
435 | ||
436 | Unregister agent in the global list. \begin{Desc} | |
437 | \item[Returns:]neg. error code if failed \end{Desc} | |
438 | ||
439 | ||
440 | Definition at line 164 of file Ali\-HLTModule\-Agent.cxx. | |
441 | ||
442 | References fg\-Agent\-List, k\-HLTLog\-Debug, and Ali\-HLTLogging::Logging(). | |
443 | ||
444 | Referenced by $\sim$Ali\-HLTModule\-Agent(). | |
445 | ||
446 | \footnotesize\begin{verbatim}165 { | |
447 | 166 // see header file for function documentation | |
448 | 167 AliHLTLogging log; | |
449 | 168 if (!pAgent) return -EINVAL; | |
450 | 169 if (fgAgentList.FindObject(pAgent)!=NULL) { | |
451 | 170 log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Unregister", "", "module agent %p removed", pAgent); | |
452 | 171 fgAgentList.Remove(pAgent); | |
453 | 172 } else { | |
454 | 173 } | |
455 | 174 return 0; | |
456 | 175 } | |
457 | \end{verbatim}\normalsize | |
458 | ||
459 | ||
460 | ||
461 | ||
462 | \subsection{Member Data Documentation} | |
463 | \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!fgAgentList@{fgAgentList}} | |
464 | \index{fgAgentList@{fgAgentList}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
465 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTModule\-Agent::fg\-Agent\-List}\hspace{0.3cm}{\tt [static, private]}}\label{classAliHLTModuleAgent_v0} | |
466 | ||
467 | ||
468 | the list of active agents | |
469 | ||
470 | Definition at line 54 of file Ali\-HLTModule\-Agent.cxx. | |
471 | ||
472 | Referenced by Get\-First\-Agent(), Print\-Status(), Register(), and Unregister().\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!fgCurrentLnk@{fgCurrentLnk}} | |
473 | \index{fgCurrentLnk@{fgCurrentLnk}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}} | |
474 | \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObj\-Link $\ast$ {\bf Ali\-HLTModule\-Agent::fg\-Current\-Lnk} = NULL\hspace{0.3cm}{\tt [static, private]}}\label{classAliHLTModuleAgent_v1} | |
475 | ||
476 | ||
477 | the current object link (list position) | |
478 | ||
479 | Definition at line 55 of file Ali\-HLTModule\-Agent.cxx. | |
480 | ||
481 | Referenced by Get\-First\-Agent(), and Get\-Next\-Agent(). | |
482 | ||
483 | The documentation for this class was generated from the following files:\begin{CompactItemize} | |
484 | \item | |
485 | /home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTModule\-Agent.h}\item | |
486 | /home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTModule\-Agent.cxx}\end{CompactItemize} |