1 \section{Ali\-HLTConfiguration Class Reference}
2 \label{classAliHLTConfiguration}\index{AliHLTConfiguration@{AliHLTConfiguration}}
3 {\tt \#include $<$Ali\-HLTConfiguration.h$>$}
5 Inheritance diagram for Ali\-HLTConfiguration::\begin{figure}[H]
8 \includegraphics[height=2cm]{classAliHLTConfiguration}
13 \subsection{Detailed Description}
14 Description of HLT processing chains.
16 This class describes a certain configuration af an HLT processing step by the following parameters:\begin{itemize}
17 \item a unique id string/name\item the id of the component\item the ids of the configurations it requires input from\item the arguments, which are passed to the component when it is initialized\end{itemize}
20 The setup of a configuration requires simply the creation of a global object of {\bf Ali\-HLTConfiguration}{\rm (p.\,\pageref{classAliHLTConfiguration})}. The Configuration is automatically registered in the list of available configurations maintained by the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})}. The list is used by to resolve the dependencies on other configurations. Hierarchies can be built up in an easy way.
22 A configuration is interpreted by the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})} and transformed into a Task List.
25 \item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
30 Definition at line 49 of file Ali\-HLTConfiguration.h.\subsection*{Public Member Functions}
31 \begin{CompactItemize}
33 {\bf Ali\-HLTConfiguration} ()
35 {\bf Ali\-HLTConfiguration} (const char $\ast$id, const char $\ast$component, const char $\ast$sources, const char $\ast$arguments)
37 {\bf Ali\-HLTConfiguration} (const {\bf Ali\-HLTConfiguration} \&src)
39 {\bf Ali\-HLTConfiguration} \& {\bf operator=} (const {\bf Ali\-HLTConfiguration} \&src)
41 virtual {\bf $\sim$Ali\-HLTConfiguration} ()
43 const char $\ast$ {\bf Get\-Name} () const
45 const char $\ast$ {\bf Get\-Component\-ID} () const
47 void {\bf Print\-Status} ()
49 {\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-Source} (const char $\ast$id)
51 int {\bf Follow\-Dependency} (const char $\ast$id, TList $\ast$p\-Tgt\-List=NULL)
53 int {\bf Get\-Nof\-Sources} ()
55 int {\bf Sources\-Resolved} (int b\-Auto=0)
57 {\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-First\-Source} ()
59 {\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-Next\-Source} ()
61 int {\bf Invalidate\-Source} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
63 int {\bf Invalidate\-Sources} ()
65 int {\bf Get\-Arguments} (const char $\ast$$\ast$$\ast$p\-Argv)
67 \subsection*{Static Public Member Functions}
68 \begin{CompactItemize}
70 int {\bf Global\-Init} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$p\-Handler)
72 int {\bf Global\-Deinit} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$p\-Handler)
74 \subsection*{Private Member Functions}
75 \begin{CompactItemize}
77 int {\bf Extract\-Sources} ()
79 int {\bf Extract\-Arguments} ()
81 int {\bf Interprete\-String} (const char $\ast$arg, vector$<$ char $\ast$ $>$ \&arg\-List)
83 {\bf Class\-Def} ({\bf Ali\-HLTConfiguration}, 0)
84 \begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
85 \subsection*{Private Attributes}
86 \begin{CompactItemize}
90 TString {\bf f\-Component}
92 TString {\bf f\-String\-Sources}
94 int {\bf f\-Nof\-Sources}
96 vector$<$ {\bf Ali\-HLTConfiguration} $\ast$ $>$ {\bf f\-List\-Sources}
98 vector$<$ {\bf Ali\-HLTConfiguration} $\ast$ $>$::iterator {\bf f\-List\-Src\-Element}
100 TString {\bf f\-Arguments}
104 char $\ast$$\ast$ {\bf f\-Argv}
106 \subsection*{Static Private Attributes}
107 \begin{CompactItemize}
109 {\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\bf fg\-Configuration\-Handler} = NULL
113 \subsection{Constructor \& Destructor Documentation}
114 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
115 \index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
116 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration ()}\label{classAliHLTConfiguration_a0}
119 standard constructor. The configuration is automatically registered in the global configuration manager \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
120 \index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
121 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration (const char $\ast$ {\em id}, const char $\ast$ {\em component}, const char $\ast$ {\em sources}, const char $\ast$ {\em arguments})}\label{classAliHLTConfiguration_a1}
124 constructor. The configuration is automatically registered in the global configuration manager \begin{Desc}
127 \item[{\em id}]unique id of the configuration \item[{\em component}]component id \item[{\em sources}]blank separated list of source configuration ids \item[{\em arguments}]argument string passed to the component at initialization \end{description}
131 Definition at line 57 of file Ali\-HLTConfiguration.cxx.
133 References fg\-Configuration\-Handler, f\-List\-Sources, f\-List\-Src\-Element, HLTError, and Ali\-HLTConfiguration\-Handler::Register\-Configuration().
135 \footnotesize\begin{verbatim}58 :
137 60 fComponent(component),
138 61 fStringSources(sources),
141 64 fListSrcElement(),
142 65 fArguments(arguments),
146 69 // see header file for function documentation
147 70 fListSrcElement=fListSources.begin();
148 71 if (id && component) {
149 72 if (fgConfigurationHandler) {
150 73 fgConfigurationHandler->RegisterConfiguration(this);
152 75 HLTError("no configuration handler set, abort registration");
157 \end{verbatim}\normalsize
160 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
161 \index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
162 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration (const {\bf Ali\-HLTConfiguration} \& {\em src})}\label{classAliHLTConfiguration_a2}
167 Definition at line 80 of file Ali\-HLTConfiguration.cxx.
169 References f\-List\-Sources, and f\-List\-Src\-Element.
171 \footnotesize\begin{verbatim}81 :
175 85 fComponent(src.fComponent),
176 86 fStringSources(src.fStringSources),
179 89 fListSrcElement(),
180 90 fArguments(src.fArguments),
184 94 // see header file for function documentation
185 95 fListSrcElement=fListSources.begin();
188 \end{verbatim}\normalsize
191 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!~AliHLTConfiguration@{$\sim$AliHLTConfiguration}}
192 \index{~AliHLTConfiguration@{$\sim$AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
193 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::$\sim${\bf Ali\-HLTConfiguration} ()\hspace{0.3cm}{\tt [virtual]}}\label{classAliHLTConfiguration_a4}
198 Definition at line 111 of file Ali\-HLTConfiguration.cxx.
200 References f\-Argc, f\-Argv, fg\-Configuration\-Handler, f\-ID, Ali\-HLTConfiguration\-Handler::Find\-Configuration(), f\-List\-Sources, and Ali\-HLTConfiguration\-Handler::Remove\-Configuration().
202 \footnotesize\begin{verbatim}112 {
203 113 // see header file for function documentation
204 114 if (fgConfigurationHandler) {
205 115 if (fgConfigurationHandler->FindConfiguration(fID.Data())!=NULL) {
206 116 fgConfigurationHandler->RemoveConfiguration(this);
209 119 if (fArgv != NULL) {
211 121 for (int i=0; i<fArgc; i++) {
212 122 delete[] fArgv[i];
219 129 vector<AliHLTConfiguration*>::iterator element=fListSources.begin();
220 130 while (element!=fListSources.end()) {
221 131 fListSources.erase(element);
222 132 element=fListSources.begin();
225 \end{verbatim}\normalsize
230 \subsection{Member Function Documentation}
231 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ClassDef@{ClassDef}}
232 \index{ClassDef@{ClassDef}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
233 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Class\-Def ({\bf Ali\-HLTConfiguration}, 0)\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_d3}
238 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ExtractArguments@{ExtractArguments}}
239 \index{ExtractArguments@{ExtractArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
240 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Extract\-Arguments ()\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_d1}
245 Definition at line 326 of file Ali\-HLTConfiguration.cxx.
247 References f\-Argc, f\-Arguments, f\-Argv, and Interprete\-String().
249 Referenced by Get\-Arguments().
251 \footnotesize\begin{verbatim}327 {
252 328 // see header file for function documentation
254 330 if (!fArguments.IsNull()) {
255 331 vector<char*> tgtList;
256 332 if ((iResult=InterpreteString(fArguments, tgtList))>=0) {
257 333 fArgc=tgtList.size();
258 334 //HLTDebug("configuration %s: extracted %d arguments from \"%s\"", GetName(), fArgc, fArguments);
260 336 fArgv = new char*[fArgc];
262 338 vector<char*>::iterator element=tgtList.begin();
264 340 while (element!=tgtList.end()) {
265 341 //HLTDebug("assign arguments %d (%s)", i, *element);
266 342 fArgv[i++]=(*element);
275 351 // there are zero arguments
280 \end{verbatim}\normalsize
283 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ExtractSources@{ExtractSources}}
284 \index{ExtractSources@{ExtractSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
285 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Extract\-Sources ()\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_d0}
290 Definition at line 292 of file Ali\-HLTConfiguration.cxx.
292 References fg\-Configuration\-Handler, Ali\-HLTConfiguration\-Handler::Find\-Configuration(), f\-List\-Sources, f\-List\-Src\-Element, f\-Nof\-Sources, f\-String\-Sources, HLTError, HLTFatal, and Interprete\-String().
294 Referenced by Get\-First\-Source(), and Sources\-Resolved().
296 \footnotesize\begin{verbatim}293 {
297 294 // see header file for function documentation
300 297 if (!fStringSources.IsNull()) {
301 298 vector<char*> tgtList;
302 299 fListSources.clear();
303 300 if ((iResult=InterpreteString(fStringSources.Data(), tgtList))>=0) {
304 301 fNofSources=tgtList.size();
305 302 vector<char*>::iterator element=tgtList.begin();
306 303 while ((element=tgtList.begin())!=tgtList.end()) {
307 304 if (fgConfigurationHandler) {
308 305 AliHLTConfiguration* pConf=fgConfigurationHandler->FindConfiguration(*element);
310 307 //HLTDebug("configuration %s (%p): source \"%s\" (%p) inserted", GetName(), this, pConf->GetName(), pConf);
311 308 fListSources.push_back(pConf);
313 310 HLTError("can not find source \"%s\"", (*element));
316 313 } else if (iResult>=0) {
318 315 HLTFatal("global configuration handler not initialized, can not resolve sources");
320 317 delete[] (*element);
321 318 tgtList.erase(element);
323 320 fListSrcElement=fListSources.begin();
328 \end{verbatim}\normalsize
331 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!FollowDependency@{FollowDependency}}
332 \index{FollowDependency@{FollowDependency}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
333 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Follow\-Dependency (const char $\ast$ {\em id}, TList $\ast$ {\em p\-Tgt\-List} = {\tt NULL})}\label{classAliHLTConfiguration_a9}
336 Try to find a dependency recursively in the list of sources. \begin{Desc}
339 \item[{\em id}]the source to search for \item[{\em p\-Tgt\-List}](optional) target list to receive the dependency tree \end{description}
342 \item[Returns:]0 if not found n found in the n-th level dependency list in the target list \end{Desc}
345 Definition at line 393 of file Ali\-HLTConfiguration.cxx.
347 References Get\-First\-Source(), Get\-Next\-Source(), and Get\-Source().
349 Referenced by Ali\-HLTSystem::Build\-Task\-List(), and Ali\-HLTTask::Print\-Dependency\-Tree().
351 \footnotesize\begin{verbatim}394 {
352 395 // see header file for function documentation
355 398 AliHLTConfiguration* pDep=NULL;
356 399 if ((pDep=GetSource(id))!=NULL) {
357 400 if (pTgtList) pTgtList->Add(pDep);
360 403 pDep=GetFirstSource();
361 404 while (pDep && iResult==0) {
362 405 if ((iResult=pDep->FollowDependency(id, pTgtList))>0) {
363 406 if (pTgtList) pTgtList->AddFirst(pDep);
366 409 pDep=GetNextSource();
374 \end{verbatim}\normalsize
377 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetArguments@{GetArguments}}
378 \index{GetArguments@{GetArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
379 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Get\-Arguments (const char $\ast$$\ast$$\ast$ {\em p\-Argv})}\label{classAliHLTConfiguration_a16}
382 Get the arguments array. \begin{Desc}
385 \item[{\em p\-Argv}]pointer to receive argument array pointer \end{description}
388 \item[Returns:]argc if succeeded, neg. error code if failed \end{Desc}
391 Definition at line 268 of file Ali\-HLTConfiguration.cxx.
393 References Extract\-Arguments(), f\-Argc, Get\-Name(), and HLTError.
395 Referenced by Ali\-HLTTask::Init().
397 \footnotesize\begin{verbatim}269 {
398 270 // see header file for function documentation
402 274 if ((iResult=ExtractArguments())<0) {
403 275 HLTError("error extracting arguments for configuration %s", GetName());
406 278 } else if (fArgc<0) {
407 279 HLTError("previous argument extraction failed");
409 281 //HLTDebug("%s fArgc %d", GetName(), fArgc);
411 283 *pArgv=(const char**)fArgv;
413 285 HLTError("invalid parameter");
418 \end{verbatim}\normalsize
421 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetComponentID@{GetComponentID}}
422 \index{GetComponentID@{GetComponentID}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
423 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTConfiguration::Get\-Component\-ID () const\hspace{0.3cm}{\tt [inline]}}\label{classAliHLTConfiguration_a6}
426 Get id of the component. The id is a unique string. \begin{Desc}
427 \item[Returns:]id of the component \end{Desc}
430 Definition at line 104 of file Ali\-HLTConfiguration.h.
432 Referenced by Ali\-HLTTask::Init().
434 \footnotesize\begin{verbatim}104 {return fComponent;}
435 \end{verbatim}\normalsize
438 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetFirstSource@{GetFirstSource}}
439 \index{GetFirstSource@{GetFirstSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
440 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-First\-Source ()}\label{classAliHLTConfiguration_a12}
443 Start iteration and get the first source. \begin{Desc}
444 \item[Returns:]pointer to the first configuration descriptor \end{Desc}
447 Definition at line 193 of file Ali\-HLTConfiguration.cxx.
449 References Extract\-Sources(), f\-List\-Sources, f\-List\-Src\-Element, and f\-Nof\-Sources.
451 Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Follow\-Dependency(), Get\-Source(), Ali\-HLTTask::Print\-Status(), and Print\-Status().
453 \footnotesize\begin{verbatim}194 {
454 195 // see header file for function documentation
455 196 AliHLTConfiguration* pSrc=NULL;
456 197 if (fNofSources>=0 || ExtractSources()) {
457 198 fListSrcElement=fListSources.begin();
458 199 if (fListSrcElement!=fListSources.end()) pSrc=*fListSrcElement;
462 \end{verbatim}\normalsize
465 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetName@{GetName}}
466 \index{GetName@{GetName}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
467 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTConfiguration::Get\-Name () const}\label{classAliHLTConfiguration_a5}
470 Get configuration id, a unique name This is an overridden TObject function in order to return the configuration name instead of the class name. Enables use of TList standard functions. \begin{Desc}
471 \item[Returns:]configuration id \end{Desc}
474 Definition at line 163 of file Ali\-HLTConfiguration.cxx.
478 Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Get\-Arguments(), Ali\-HLTTask::Get\-Name(), Get\-Source(), Ali\-HLTTask::Init(), Ali\-HLTTask::Print\-Status(), Print\-Status(), Ali\-HLTConfiguration\-Handler::Register\-Configuration(), Ali\-HLTConfiguration\-Handler::Remove\-Configuration(), and Ali\-HLTConfiguration\-Handler::$\sim$Ali\-HLTConfiguration\-Handler().
480 \footnotesize\begin{verbatim}164 {
481 165 // see header file for function documentation
482 166 if (!fID.IsNull())
483 167 return fID.Data();
484 168 return TObject::GetName();
486 \end{verbatim}\normalsize
489 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetNextSource@{GetNextSource}}
490 \index{GetNextSource@{GetNextSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
491 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-Next\-Source ()}\label{classAliHLTConfiguration_a13}
494 Continue iteration and get the next source. \begin{Desc}
495 \item[Returns:]pointer to the next configuration descriptor in the list \end{Desc}
498 Definition at line 204 of file Ali\-HLTConfiguration.cxx.
500 References f\-List\-Sources, f\-List\-Src\-Element, and f\-Nof\-Sources.
502 Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Follow\-Dependency(), Get\-Source(), Ali\-HLTTask::Print\-Status(), and Print\-Status().
504 \footnotesize\begin{verbatim}205 {
505 206 // see header file for function documentation
506 207 AliHLTConfiguration* pSrc=NULL;
507 208 if (fNofSources>0) {
508 209 if (fListSrcElement!=fListSources.end() && (++fListSrcElement)!=fListSources.end())
509 210 pSrc=*fListSrcElement;
513 \end{verbatim}\normalsize
516 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetNofSources@{GetNofSources}}
517 \index{GetNofSources@{GetNofSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
518 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Get\-Nof\-Sources ()\hspace{0.3cm}{\tt [inline]}}\label{classAliHLTConfiguration_a10}
521 Get the number of resolved sources. \begin{Desc}
522 \item[Returns:]number of resolved sources \end{Desc}
525 Definition at line 134 of file Ali\-HLTConfiguration.h.
527 References f\-List\-Sources.
529 \footnotesize\begin{verbatim}134 {return fListSources.size();}
530 \end{verbatim}\normalsize
533 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetSource@{GetSource}}
534 \index{GetSource@{GetSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
535 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-Source (const char $\ast$ {\em id})}\label{classAliHLTConfiguration_a8}
538 Get a certain source. \begin{Desc}
541 \item[{\em id}]of the source configuration \end{description}
544 \item[Returns:]pointer to the corresponding configuration descriptor \end{Desc}
547 Definition at line 171 of file Ali\-HLTConfiguration.cxx.
549 References f\-List\-Sources, f\-List\-Src\-Element, Get\-First\-Source(), Get\-Name(), and Get\-Next\-Source().
551 Referenced by Ali\-HLTTask::Depends(), and Follow\-Dependency().
553 \footnotesize\begin{verbatim}172 {
554 173 // see header file for function documentation
555 174 AliHLTConfiguration* pSrc=NULL;
557 176 // first check the current element
558 177 if (fListSrcElement!=fListSources.end() && strcmp(id, (*fListSrcElement)->GetName())==0) {
559 178 pSrc=*fListSrcElement;
561 180 // check the list
563 182 pSrc=GetFirstSource();
565 184 if (strcmp(id, pSrc->GetName())==0)
567 186 pSrc=GetNextSource();
573 \end{verbatim}\normalsize
576 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GlobalDeinit@{GlobalDeinit}}
577 \index{GlobalDeinit@{GlobalDeinit}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
578 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Global\-Deinit ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt [static]}}\label{classAliHLTConfiguration_e1}
581 Global de-init and cleanup of the global configuration handler
583 Definition at line 151 of file Ali\-HLTConfiguration.cxx.
585 References fg\-Configuration\-Handler, HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
587 Referenced by Ali\-HLTSystem::$\sim$Ali\-HLTSystem().
589 \footnotesize\begin{verbatim}152 {
590 153 // see header file for function documentation
592 155 if (pHandler!=NULL && fgConfigurationHandler!=pHandler) {
593 156 fgConfigurationHandler->Logging(kHLTLogWarning, "AliHLTConfiguration::GlobalDeinit", HLT_DEFAULT_LOG_KEYWORD, "handler %p is not set, skip ...", pHandler);
596 159 fgConfigurationHandler=NULL;
599 \end{verbatim}\normalsize
602 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GlobalInit@{GlobalInit}}
603 \index{GlobalInit@{GlobalInit}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
604 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Global\-Init ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt [static]}}\label{classAliHLTConfiguration_e0}
607 Global initialization of the configuration handler.
609 Definition at line 140 of file Ali\-HLTConfiguration.cxx.
611 References fg\-Configuration\-Handler, HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
613 Referenced by Class\-Imp().
615 \footnotesize\begin{verbatim}141 {
616 142 // see header file for function documentation
618 144 if (fgConfigurationHandler!=NULL) {
619 145 fgConfigurationHandler->Logging(kHLTLogWarning, "AliHLTConfiguration::GlobalInit", HLT_DEFAULT_LOG_KEYWORD, "configuration handler already initialized, overriding object %p with %p", fgConfigurationHandler, pHandler);
621 147 fgConfigurationHandler=pHandler;
624 \end{verbatim}\normalsize
627 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InterpreteString@{InterpreteString}}
628 \index{InterpreteString@{InterpreteString}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
629 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Interprete\-String (const char $\ast$ {\em arg}, vector$<$ char $\ast$ $>$ \& {\em arg\-List})\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_d2}
632 Helper function to build a vector from an argument string \begin{Desc}
635 \item[{\em arg}]pointer to argument string \item[{\em arg\-List}]target to receive the argument list \end{description}
639 Definition at line 357 of file Ali\-HLTConfiguration.cxx.
641 Referenced by Extract\-Arguments(), and Extract\-Sources().
643 \footnotesize\begin{verbatim}358 {
644 359 // see header file for function documentation
647 362 //HLTDebug("interprete \"%s\"", arg);
652 367 //HLTDebug("%d %x", i, arg[i]);
653 368 if (arg[i]=='\'' && bQuote==0) {
655 370 } else if (arg[i]==0 ||
656 371 (arg[i]==' ' && bQuote==0) ||
657 372 (arg[i]=='\'' && bQuote==1)) {
660 375 char* pEntry= new char[i-prec+1];
662 377 strncpy(pEntry, &arg[prec], i-prec);
663 378 pEntry[i-prec]=0; // terminate string
664 379 //HLTDebug("create string \"%s\", insert at %d", pEntry, argList.size());
665 380 argList.push_back(pEntry);
670 385 } else if (prec==-1) prec=i;
671 386 } while (arg[i++]!=0 && iResult>=0);
677 \end{verbatim}\normalsize
680 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InvalidateSource@{InvalidateSource}}
681 \index{InvalidateSource@{InvalidateSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
682 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Invalidate\-Source ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTConfiguration_a14}
685 Invalidate a dependency and mark the configuration to be re-evaluted. \begin{Desc}
688 \item[{\em p\-Conf}]pointer to configuration descriptor \end{description}
692 Definition at line 227 of file Ali\-HLTConfiguration.cxx.
694 References f\-List\-Sources, and f\-List\-Src\-Element.
696 Referenced by Ali\-HLTConfiguration\-Handler::Remove\-Configuration().
698 \footnotesize\begin{verbatim}228 {
699 229 // see header file for function documentation
702 232 vector<AliHLTConfiguration*>::iterator element=fListSources.begin();
703 233 while (element!=fListSources.end()) {
704 234 if (*element==pConf) {
705 235 fListSources.erase(element);
706 236 fListSrcElement=fListSources.end();
707 237 // there is no need to re-evaluate until there was a new configuration registered
708 238 // -> postpone the invalidation, its done in AliHLTConfigurationHandler::RegisterConfiguration
709 239 //InvalidateSources();
719 \end{verbatim}\normalsize
722 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InvalidateSources@{InvalidateSources}}
723 \index{InvalidateSources@{InvalidateSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
724 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Invalidate\-Sources ()\hspace{0.3cm}{\tt [inline]}}\label{classAliHLTConfiguration_a15}
727 Mark the configuration to be re-evaluted.
729 Definition at line 164 of file Ali\-HLTConfiguration.h.
731 References f\-Nof\-Sources.
733 Referenced by Ali\-HLTConfiguration\-Handler::Register\-Configuration(), and Ali\-HLTTask::Unset\-Dependency().
735 \footnotesize\begin{verbatim}164 {fNofSources=-1; return 0;}
736 \end{verbatim}\normalsize
739 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!operator=@{operator=}}
740 \index{operator=@{operator=}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
741 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} \& Ali\-HLTConfiguration::operator= (const {\bf Ali\-HLTConfiguration} \& {\em src})}\label{classAliHLTConfiguration_a3}
746 Definition at line 98 of file Ali\-HLTConfiguration.cxx.
748 References f\-Argc, f\-Arguments, f\-Argv, f\-Component, f\-ID, f\-Nof\-Sources, and f\-String\-Sources.
750 \footnotesize\begin{verbatim}99 {
751 100 // see header file for function documentation
753 102 fComponent=src.fComponent;
754 103 fStringSources=src.fStringSources;
756 105 fArguments=src.fArguments;
761 \end{verbatim}\normalsize
764 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!PrintStatus@{PrintStatus}}
765 \index{PrintStatus@{PrintStatus}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
766 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTConfiguration::Print\-Status ()}\label{classAliHLTConfiguration_a7}
769 Print status info. Short summary on id, component, sources and unresolved sources.
771 Definition at line 250 of file Ali\-HLTConfiguration.cxx.
773 References f\-Component, f\-String\-Sources, Get\-First\-Source(), Get\-Name(), Get\-Next\-Source(), HLTLog\-Keyword, HLTMessage, and Sources\-Resolved().
775 \footnotesize\begin{verbatim}251 {
776 252 // see header file for function documentation
777 253 HLTLogKeyword("configuration status");
778 254 HLTMessage("status of configuration \"%s\" (%p)", GetName(), this);
779 255 if (!fComponent.IsNull()) HLTMessage(" - component: \"%s\"", fComponent.Data());
780 256 else HLTMessage(" - component string invalid");
781 257 if (!fStringSources.IsNull()) HLTMessage(" - sources: \"%s\"", fStringSources.Data());
782 258 else HLTMessage(" - no sources");
783 259 if (SourcesResolved(1)<=0)
784 260 HLTMessage(" there are unresolved sources");
785 261 AliHLTConfiguration* pSrc=GetFirstSource();
787 263 HLTMessage(" source \"%s\" (%p) resolved", pSrc->GetName(), pSrc);
788 264 pSrc=GetNextSource();
791 \end{verbatim}\normalsize
794 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!SourcesResolved@{SourcesResolved}}
795 \index{SourcesResolved@{SourcesResolved}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
796 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Sources\-Resolved (int {\em b\-Auto} = {\tt 0})}\label{classAliHLTConfiguration_a11}
799 Check resolving status. \begin{Desc}
802 \item[{\em b\-Auto}]resolve if ==1 \end{description}
805 \item[Returns:]1 if all sources resolved \end{Desc}
808 Definition at line 215 of file Ali\-HLTConfiguration.cxx.
810 References Extract\-Sources(), f\-List\-Sources, and f\-Nof\-Sources.
812 Referenced by Ali\-HLTSystem::Build\-Task\-List(), Print\-Status(), and Ali\-HLTConfiguration\-Handler::Register\-Configuration().
814 \footnotesize\begin{verbatim}216 {
815 217 // see header file for function documentation
817 219 if (fNofSources>=0 || bAuto && (iResult=ExtractSources())>=0) {
818 220 //HLTDebug("fNofSources=%d", fNofSources);
819 221 //HLTDebug("list size = %d", fListSources.size());
820 222 iResult=fNofSources==(int)fListSources.size();
824 \end{verbatim}\normalsize
829 \subsection{Member Data Documentation}
830 \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArgc@{fArgc}}
831 \index{fArgc@{fArgc}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
832 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTConfiguration::f\-Argc}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r7}
837 Definition at line 214 of file Ali\-HLTConfiguration.h.
839 Referenced by Extract\-Arguments(), Get\-Arguments(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArguments@{fArguments}}
840 \index{fArguments@{fArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
841 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-Arguments}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r6}
844 The argument string as passed to the constructor. Specifies the arguments for the Analysys component. The string will be parsed and the separated arguments stored in the {\bf f\-Argv}{\rm (p.\,\pageref{classAliHLTConfiguration_r8})} array and {\bf f\-Argc}{\rm (p.\,\pageref{classAliHLTConfiguration_r7})} member.
846 Definition at line 212 of file Ali\-HLTConfiguration.h.
848 Referenced by Extract\-Arguments(), and operator=().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArgv@{fArgv}}
849 \index{fArgv@{fArgv}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
850 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ {\bf Ali\-HLTConfiguration::f\-Argv}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r8}
855 Definition at line 216 of file Ali\-HLTConfiguration.h.
857 Referenced by Extract\-Arguments(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fComponent@{fComponent}}
858 \index{fComponent@{fComponent}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
859 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-Component}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r1}
862 component id of this configuration
864 Definition at line 195 of file Ali\-HLTConfiguration.h.
866 Referenced by operator=(), and Print\-Status().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fgConfigurationHandler@{fgConfigurationHandler}}
867 \index{fgConfigurationHandler@{fgConfigurationHandler}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
868 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\bf Ali\-HLTConfiguration::fg\-Configuration\-Handler} = NULL\hspace{0.3cm}{\tt [static, private]}}\label{classAliHLTConfiguration_v0}
871 the instance of the global configuration handler
873 Definition at line 138 of file Ali\-HLTConfiguration.cxx.
875 Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Global\-Deinit(), Global\-Init(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fID@{fID}}
876 \index{fID@{fID}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
877 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-ID}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r0}
880 id of this configuration
882 Definition at line 193 of file Ali\-HLTConfiguration.h.
884 Referenced by Get\-Name(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fListSources@{fListSources}}
885 \index{fListSources@{fListSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
886 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConfiguration}$\ast$$>$ {\bf Ali\-HLTConfiguration::f\-List\-Sources}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r4}
891 Definition at line 202 of file Ali\-HLTConfiguration.h.
893 Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Get\-Nof\-Sources(), Get\-Source(), Invalidate\-Source(), Sources\-Resolved(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fListSrcElement@{fListSrcElement}}
894 \index{fListSrcElement@{fListSrcElement}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
895 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConfiguration}$\ast$$>$::iterator {\bf Ali\-HLTConfiguration::f\-List\-Src\-Element}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r5}
898 iterator for the above list
900 Definition at line 204 of file Ali\-HLTConfiguration.h.
902 Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Get\-Source(), and Invalidate\-Source().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fNofSources@{fNofSources}}
903 \index{fNofSources@{fNofSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
904 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTConfiguration::f\-Nof\-Sources}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r3}
907 number of resolved sources, -1 indicates re-evaluation
909 Definition at line 200 of file Ali\-HLTConfiguration.h.
911 Referenced by Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Invalidate\-Sources(), operator=(), and Sources\-Resolved().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fStringSources@{fStringSources}}
912 \index{fStringSources@{fStringSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
913 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-String\-Sources}\hspace{0.3cm}{\tt [private]}}\label{classAliHLTConfiguration_r2}
916 the {\em sources\/} string as passed to the constructor
918 Definition at line 198 of file Ali\-HLTConfiguration.h.
920 Referenced by Extract\-Sources(), operator=(), and Print\-Status().
922 The documentation for this class was generated from the following files:\begin{CompactItemize}
924 /home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.h}\item
925 /home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.cxx}\end{CompactItemize}