#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#else
#include <TSystem.h>
#endif //HAVE_DLFCN_H
#include "AliHLTComponentHandler.h"
#include "AliHLTComponent.h"
#include "AliHLTDataTypes.h"
#include "AliHLTModuleAgent.h"
#include "TString.h"
ClassImp(AliHLTComponentHandler)
AliHLTComponentHandler::AliHLTComponentHandler()
:
fComponentList(),
fScheduleList(),
fLibraryList(),
fEnvironment(),
fOwnedComponents(),
fLibraryMode(kDynamic),
fRunDesc(kAliHLTVoidRunDesc),
fRunType(NULL)
{
memset(&fEnvironment, 0, sizeof(AliHLTAnalysisEnvironment));
fEnvironment.fStructSize=sizeof(AliHLTAnalysisEnvironment);
AddStandardComponents();
}
AliHLTComponentHandler::AliHLTComponentHandler(AliHLTAnalysisEnvironment* pEnv)
:
AliHLTLogging(),
fComponentList(),
fScheduleList(),
fLibraryList(),
fEnvironment(),
fOwnedComponents(),
fLibraryMode(kDynamic),
fRunDesc(kAliHLTVoidRunDesc),
fRunType(NULL)
{
if (pEnv) {
memcpy(&fEnvironment, pEnv, sizeof(AliHLTAnalysisEnvironment));
if (pEnv->fLoggingFunc) {
AliHLTLogging::Init(pEnv->fLoggingFunc);
}
} else {
memset(&fEnvironment, 0, sizeof(AliHLTAnalysisEnvironment));
fEnvironment.fStructSize=sizeof(AliHLTAnalysisEnvironment);
}
AddStandardComponents();
}
AliHLTComponentHandler::~AliHLTComponentHandler()
{
DeactivateAgents();
DeleteOwnedComponents();
UnloadLibraries();
if (fRunType) delete [] fRunType;
fRunType=NULL;
}
AliHLTComponentHandler* AliHLTComponentHandler::fgpInstance=NULL;
int AliHLTComponentHandler::fgNofInstances=0;
AliHLTComponentHandler* AliHLTComponentHandler::CreateHandler()
{
if (!fgpInstance) fgpInstance=new AliHLTComponentHandler;
fgNofInstances++;
return fgpInstance;
}
int AliHLTComponentHandler::Destroy()
{
int nofInstances=0;
if (fgpInstance==this) {
nofInstances=--fgNofInstances;
}
if (fgNofInstances==0) fgpInstance=NULL;
if (nofInstances==0) delete this;
return nofInstances;
}
int AliHLTComponentHandler::AnnounceVersion()
{
int iResult=0;
#ifdef PACKAGE_STRING
extern void HLTbaseCompileInfo( const char*& date, const char*& time);
const char* date="";
const char* time="";
HLTbaseCompileInfo(date, time);
if (!date) date="unknown";
if (!time) time="unknown";
HLTImportant("%s build on %s (%s)", PACKAGE_STRING, date, time);
#else
HLTImportant("ALICE High Level Trigger build on %s (%s) (embedded AliRoot build)", __DATE__, __TIME__);
#endif
return iResult;
}
Int_t AliHLTComponentHandler::AddComponent(AliHLTComponent* pSample)
{
Int_t iResult=0;
if (pSample==NULL) return -EINVAL;
if ((iResult=RegisterComponent(pSample))>=0) {
fOwnedComponents.push_back(pSample);
}
return iResult;
}
Int_t AliHLTComponentHandler::RegisterComponent(AliHLTComponent* pSample)
{
Int_t iResult=0;
if (pSample) {
if (FindComponent(pSample->GetComponentID())==NULL) {
iResult=InsertComponent(pSample);
if (iResult>=0) {
HLTInfo("component %s registered", pSample->GetComponentID());
}
} else {
HLTDebug("component %s already registered, skipped", pSample->GetComponentID());
iResult=-EEXIST;
}
} else {
iResult=-EINVAL;
}
return iResult;
}
int AliHLTComponentHandler::DeregisterComponent( const char* componentID )
{
int iResult=0;
if (componentID) {
HLTWarning("not yet implemented, please notify the developers if you need this function");
} else {
iResult=-EINVAL;
}
return iResult;
}
Int_t AliHLTComponentHandler::ScheduleRegister(AliHLTComponent* pSample)
{
Int_t iResult=0;
if (pSample) {
fScheduleList.push_back(pSample);
} else {
iResult=-EINVAL;
}
return iResult;
}
int AliHLTComponentHandler::CreateComponent(const char* componentID, void* pEnvParam, int argc, const char** argv, AliHLTComponent*& component)
{
int iResult=CreateComponent(componentID, component);
if (iResult>=0 && component) {
HLTDebug("component \"%s\" created (%p)", componentID, component);
if ((iResult=component->Init(&fEnvironment, pEnvParam, argc, argv))!=0) {
HLTError("Initialization of component \"%s\" failed with error %d", componentID, iResult);
delete component;
component=NULL;
}
}
return iResult;
}
int AliHLTComponentHandler::CreateComponent(const char* componentID, AliHLTComponent*& component )
{
int iResult=0;
if (componentID) {
AliHLTComponent* pSample=FindComponent(componentID);
if (pSample!=NULL) {
component=pSample->Spawn();
if (component) {
HLTDebug("component \"%s\" created (%p)", componentID, component);
} else {
HLTError("can not spawn component \"%s\"", componentID);
iResult=-ENOENT;
}
} else {
HLTWarning("can not find component \"%s\"", componentID);
iResult=-ENOENT;
}
} else {
iResult=-EINVAL;
}
return iResult;
}
Int_t AliHLTComponentHandler::FindComponentIndex(const char* componentID)
{
Int_t iResult=0;
if (componentID) {
AliHLTComponentPList::iterator element=fComponentList.begin();
while (element!=fComponentList.end() && iResult>=0) {
if (strcmp(componentID, (*element)->GetComponentID())==0) {
break;
}
element++;
iResult++;
}
if (element==fComponentList.end()) iResult=-ENOENT;
} else {
iResult=-EINVAL;
}
return iResult;
}
AliHLTComponent* AliHLTComponentHandler::FindComponent(const char* componentID)
{
AliHLTComponent* pSample=NULL;
Int_t index=FindComponentIndex(componentID);
if (index>=0) {
pSample=(AliHLTComponent*)fComponentList.at(index);
}
return pSample;
}
Int_t AliHLTComponentHandler::InsertComponent(AliHLTComponent* pSample)
{
Int_t iResult=0;
if (pSample!=NULL) {
fComponentList.push_back(pSample);
} else {
iResult=-EINVAL;
}
return iResult;
}
void AliHLTComponentHandler::List()
{
AliHLTComponentPList::iterator element=fComponentList.begin();
int index=0;
while (element!=fComponentList.end()) {
HLTInfo("%d. %s", index++, (*element++)->GetComponentID());
}
}
int AliHLTComponentHandler::HasOutputData( const char* componentID)
{
int iResult=0;
AliHLTComponent* pSample=FindComponent(componentID);
if (pSample) {
AliHLTComponent::TComponentType ct=AliHLTComponent::kUnknown;
ct=pSample->GetComponentType();
iResult=(ct==AliHLTComponent::kSource || ct==AliHLTComponent::kProcessor);
} else {
iResult=-ENOENT;
}
return iResult;
}
void AliHLTComponentHandler::SetEnvironment(AliHLTAnalysisEnvironment* pEnv)
{
if (pEnv) {
memset(&fEnvironment, 0, sizeof(AliHLTAnalysisEnvironment));
memcpy(&fEnvironment, pEnv, pEnv->fStructSize<sizeof(AliHLTAnalysisEnvironment)?pEnv->fStructSize:sizeof(AliHLTAnalysisEnvironment));
fEnvironment.fStructSize=sizeof(AliHLTAnalysisEnvironment);
if (fEnvironment.fLoggingFunc) {
AliHLTLogging::Init(fEnvironment.fLoggingFunc);
}
}
}
AliHLTComponentHandler::TLibraryMode AliHLTComponentHandler::SetLibraryMode(TLibraryMode mode)
{
TLibraryMode old=fLibraryMode;
fLibraryMode=mode;
return old;
}
int AliHLTComponentHandler::LoadLibrary( const char* libraryPath, int bActivateAgents)
{
int iResult=0;
if (libraryPath) {
TString libName=libraryPath;
int slash=-1;
while ((slash=libName.Index("/"))>=0) {
libName=libName.Remove(0, slash+1);
}
libName.ReplaceAll(".so","");
AliHLTComponent::SetGlobalComponentHandler(this);
AliHLTLibHandle hLib;
AliHLTLibHandle* phSearch=FindLibrary(libraryPath);
const char* loadtype="";
#ifdef HAVE_DLFCN_H
{
hLib.fHandle=dlopen(libraryPath, RTLD_NOW);
loadtype="dlopen";
}
#else
{
if (phSearch) {
int* pRootHandle=reinterpret_cast<int*>(phSearch->fHandle);
(*pRootHandle)++;
HLTDebug("instance %d of library %s loaded", (*pRootHandle), libraryPath);
hLib.fHandle=pRootHandle;
}
if (hLib.fHandle==NULL && gSystem->Load(libraryPath)>=0) {
int* pRootHandle=new int;
if (pRootHandle) *pRootHandle=1;
hLib.fHandle=pRootHandle;
}
loadtype="gSystem";
}
#endif //HAVE_DLFCN_H
if (hLib.fHandle!=NULL) {
hLib.fName=new TString(libraryPath);
hLib.fMode=fLibraryMode;
fLibraryList.insert(fLibraryList.begin(), hLib);
if (!phSearch) {
typedef void (*CompileInfo)(const char*& date, const char*& time);
CompileInfo fctInfo=(CompileInfo)FindSymbol(libraryPath, "CompileInfo");
const char* date="";
const char* time="";
const char* buildOn="";
if (fctInfo) {
buildOn=" build on ";
(*fctInfo)(date, time);
if (!date) date="unknown";
if (!time) time="unknown";
}
HLTImportant("using %s plugin%s%s %s (%s%s)", libraryPath, buildOn, date, time, hLib.fMode==kStatic?"persistent, ":"", loadtype);
}
iResult=RegisterScheduledComponents();
} else {
HLTError("can not load library %s (%s)", libraryPath, loadtype);
#ifdef HAVE_DLFCN_H
HLTError("dlopen error: %s", dlerror());
#endif //HAVE_DLFCN_H
#ifdef __APPLE__
iResult=-EFTYPE;
#else
iResult=-ELIBACC;
#endif
}
AliHLTComponent::UnsetGlobalComponentHandler();
if (iResult>=0) {
if (bActivateAgents) ActivateAgents(libName.Data());
}
} else {
iResult=-EINVAL;
}
return iResult;
}
int AliHLTComponentHandler::UnloadLibrary( const char* libraryPath )
{
int iResult=0;
if (libraryPath) {
vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
while (element!=fLibraryList.end()) {
TString* pName=reinterpret_cast<TString*>((*element).fName);
if (pName->CompareTo(libraryPath)==0) {
UnloadLibrary(*element);
fLibraryList.erase(element);
break;
}
element++;
}
} else {
iResult=-EINVAL;
}
return iResult;
}
int AliHLTComponentHandler::UnloadLibrary(AliHLTComponentHandler::AliHLTLibHandle &handle)
{
int iResult=0;
fgAliLoggingFunc=NULL;
TString* pName=reinterpret_cast<TString*>(handle.fName);
if (handle.fMode!=kStatic) {
#ifdef HAVE_DLFCN_H
{
dlclose(handle.fHandle);
}
#else
int* pCount=reinterpret_cast<int*>(handle.fHandle);
if (--(*pCount)==0) {
if (pName) {
}
else {
HLTError("missing library name, can not unload");
}
delete pCount;
}
#endif //HAVE_DLFCN_H
if (pName) {
HLTDebug("unload library %s", pName->Data());
} else {
HLTWarning("missing name for unloaded library");
}
}
handle.fName=NULL;
handle.fHandle=NULL;
if (pName) {
delete pName;
}
pName=NULL;
return iResult;
}
int AliHLTComponentHandler::UnloadLibraries()
{
int iResult=0;
vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
while (element!=fLibraryList.end()) {
UnloadLibrary(*element);
fLibraryList.erase(element);
element=fLibraryList.begin();
}
return iResult;
}
AliHLTfctVoid AliHLTComponentHandler::FindSymbol(const char* library, const char* symbol)
{
AliHLTLibHandle* hLib=FindLibrary(library);
if (hLib==NULL) return NULL;
void (*pFunc)()=NULL;
#ifdef HAVE_DLFCN_H
pFunc=(void (*)())dlsym(hLib->fHandle, symbol);
#else
TString* name=reinterpret_cast<TString*>(hLib->fName);
pFunc=(void (*)())gSystem->DynFindSymbol(name->Data(), symbol);
#endif
return pFunc;
}
AliHLTComponentHandler::AliHLTLibHandle* AliHLTComponentHandler::FindLibrary(const char* library)
{
AliHLTLibHandle* hLib=NULL;
vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
while (element!=fLibraryList.end()) {
TString* name=reinterpret_cast<TString*>((*element).fName);
if (name->CompareTo(library)==0) {
hLib=&(*element);
break;
}
element++;
}
return hLib;
}
int AliHLTComponentHandler::AddStandardComponents()
{
int iResult=0;
AliHLTComponent::SetGlobalComponentHandler(this);
AliHLTComponent::UnsetGlobalComponentHandler();
iResult=RegisterScheduledComponents();
return iResult;
}
int AliHLTComponentHandler::RegisterScheduledComponents()
{
int iResult=0;
AliHLTComponentPList::iterator element=fScheduleList.begin();
int iLocalResult=0;
while (element!=fScheduleList.end()) {
iLocalResult=RegisterComponent(*element);
if (iResult==0) iResult=iLocalResult;
fScheduleList.erase(element);
element=fScheduleList.begin();
}
return iResult;
}
int AliHLTComponentHandler::ActivateAgents(const char* library, const char* blackList)
{
vector<AliHLTModuleAgent*> agents;
for (AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
pAgent!=NULL;
pAgent=AliHLTModuleAgent::GetNextAgent()) {
if (library) {
TString check="libAliHLT"; check+=pAgent->GetModuleId();
if (check.CompareTo(library)==0) {
agents.clear();
agents.push_back(pAgent);
break;
}
}
if (blackList) {
const char* found=strstr(blackList, pAgent->GetModuleId());
if (found) {
found+=strlen(pAgent->GetModuleId());
if (*found==0 or *found==' ') continue;
}
}
agents.push_back(pAgent);
}
for (vector<AliHLTModuleAgent*>::iterator element=agents.begin();
element!=agents.end(); element++) {
(*element)->ActivateComponentHandler(this);
}
return agents.size();
}
int AliHLTComponentHandler::DeactivateAgents() const {
int ret=0;
for (AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
pAgent!=NULL; pAgent=AliHLTModuleAgent::GetNextAgent()) {
if(pAgent->GetComponentHandler()==this){
pAgent->ActivateComponentHandler(NULL);
++ret;
}
}
return ret;
}
int AliHLTComponentHandler::DeleteOwnedComponents()
{
int iResult=0;
AliHLTComponentPList::iterator element=fOwnedComponents.begin();
while (element!=fOwnedComponents.end()) {
{
delete *element;
}
fOwnedComponents.erase(element);
element=fOwnedComponents.begin();
}
return iResult;
}
int AliHLTComponentHandler::SetRunDescription(const AliHLTRunDesc* desc, const char* runType)
{
if (!desc) return -EINVAL;
if (desc->fStructSize!=sizeof(AliHLTRunDesc)) {
HLTError("invalid size of RunDesc struct (%ul)", desc->fStructSize);
return -EINVAL;
}
memcpy(&fRunDesc, desc, sizeof(AliHLTRunDesc));
if (runType) {
if (fRunType) delete [] fRunType;
fRunType=new char[sizeof(runType)+1];
if (fRunType) {
strcpy(fRunType, runType);
}
}
return 0;
}
AliHLTComponentHandler.cxx:1 AliHLTComponentHandler.cxx:2 AliHLTComponentHandler.cxx:3 AliHLTComponentHandler.cxx:4 AliHLTComponentHandler.cxx:5 AliHLTComponentHandler.cxx:6 AliHLTComponentHandler.cxx:7 AliHLTComponentHandler.cxx:8 AliHLTComponentHandler.cxx:9 AliHLTComponentHandler.cxx:10 AliHLTComponentHandler.cxx:11 AliHLTComponentHandler.cxx:12 AliHLTComponentHandler.cxx:13 AliHLTComponentHandler.cxx:14 AliHLTComponentHandler.cxx:15 AliHLTComponentHandler.cxx:16 AliHLTComponentHandler.cxx:17 AliHLTComponentHandler.cxx:18 AliHLTComponentHandler.cxx:19 AliHLTComponentHandler.cxx:20 AliHLTComponentHandler.cxx:21 AliHLTComponentHandler.cxx:22 AliHLTComponentHandler.cxx:23 AliHLTComponentHandler.cxx:24 AliHLTComponentHandler.cxx:25 AliHLTComponentHandler.cxx:26 AliHLTComponentHandler.cxx:27 AliHLTComponentHandler.cxx:28 AliHLTComponentHandler.cxx:29 AliHLTComponentHandler.cxx:30 AliHLTComponentHandler.cxx:31 AliHLTComponentHandler.cxx:32 AliHLTComponentHandler.cxx:33 AliHLTComponentHandler.cxx:34 AliHLTComponentHandler.cxx:35 AliHLTComponentHandler.cxx:36 AliHLTComponentHandler.cxx:37 AliHLTComponentHandler.cxx:38 AliHLTComponentHandler.cxx:39 AliHLTComponentHandler.cxx:40 AliHLTComponentHandler.cxx:41 AliHLTComponentHandler.cxx:42 AliHLTComponentHandler.cxx:43 AliHLTComponentHandler.cxx:44 AliHLTComponentHandler.cxx:45 AliHLTComponentHandler.cxx:46 AliHLTComponentHandler.cxx:47 AliHLTComponentHandler.cxx:48 AliHLTComponentHandler.cxx:49 AliHLTComponentHandler.cxx:50 AliHLTComponentHandler.cxx:51 AliHLTComponentHandler.cxx:52 AliHLTComponentHandler.cxx:53 AliHLTComponentHandler.cxx:54 AliHLTComponentHandler.cxx:55 AliHLTComponentHandler.cxx:56 AliHLTComponentHandler.cxx:57 AliHLTComponentHandler.cxx:58 AliHLTComponentHandler.cxx:59 AliHLTComponentHandler.cxx:60 AliHLTComponentHandler.cxx:61 AliHLTComponentHandler.cxx:62 AliHLTComponentHandler.cxx:63 AliHLTComponentHandler.cxx:64 AliHLTComponentHandler.cxx:65 AliHLTComponentHandler.cxx:66 AliHLTComponentHandler.cxx:67 AliHLTComponentHandler.cxx:68 AliHLTComponentHandler.cxx:69 AliHLTComponentHandler.cxx:70 AliHLTComponentHandler.cxx:71 AliHLTComponentHandler.cxx:72 AliHLTComponentHandler.cxx:73 AliHLTComponentHandler.cxx:74 AliHLTComponentHandler.cxx:75 AliHLTComponentHandler.cxx:76 AliHLTComponentHandler.cxx:77 AliHLTComponentHandler.cxx:78 AliHLTComponentHandler.cxx:79 AliHLTComponentHandler.cxx:80 AliHLTComponentHandler.cxx:81 AliHLTComponentHandler.cxx:82 AliHLTComponentHandler.cxx:83 AliHLTComponentHandler.cxx:84 AliHLTComponentHandler.cxx:85 AliHLTComponentHandler.cxx:86 AliHLTComponentHandler.cxx:87 AliHLTComponentHandler.cxx:88 AliHLTComponentHandler.cxx:89 AliHLTComponentHandler.cxx:90 AliHLTComponentHandler.cxx:91 AliHLTComponentHandler.cxx:92 AliHLTComponentHandler.cxx:93 AliHLTComponentHandler.cxx:94 AliHLTComponentHandler.cxx:95 AliHLTComponentHandler.cxx:96 AliHLTComponentHandler.cxx:97 AliHLTComponentHandler.cxx:98 AliHLTComponentHandler.cxx:99 AliHLTComponentHandler.cxx:100 AliHLTComponentHandler.cxx:101 AliHLTComponentHandler.cxx:102 AliHLTComponentHandler.cxx:103 AliHLTComponentHandler.cxx:104 AliHLTComponentHandler.cxx:105 AliHLTComponentHandler.cxx:106 AliHLTComponentHandler.cxx:107 AliHLTComponentHandler.cxx:108 AliHLTComponentHandler.cxx:109 AliHLTComponentHandler.cxx:110 AliHLTComponentHandler.cxx:111 AliHLTComponentHandler.cxx:112 AliHLTComponentHandler.cxx:113 AliHLTComponentHandler.cxx:114 AliHLTComponentHandler.cxx:115 AliHLTComponentHandler.cxx:116 AliHLTComponentHandler.cxx:117 AliHLTComponentHandler.cxx:118 AliHLTComponentHandler.cxx:119 AliHLTComponentHandler.cxx:120 AliHLTComponentHandler.cxx:121 AliHLTComponentHandler.cxx:122 AliHLTComponentHandler.cxx:123 AliHLTComponentHandler.cxx:124 AliHLTComponentHandler.cxx:125 AliHLTComponentHandler.cxx:126 AliHLTComponentHandler.cxx:127 AliHLTComponentHandler.cxx:128 AliHLTComponentHandler.cxx:129 AliHLTComponentHandler.cxx:130 AliHLTComponentHandler.cxx:131 AliHLTComponentHandler.cxx:132 AliHLTComponentHandler.cxx:133 AliHLTComponentHandler.cxx:134 AliHLTComponentHandler.cxx:135 AliHLTComponentHandler.cxx:136 AliHLTComponentHandler.cxx:137 AliHLTComponentHandler.cxx:138 AliHLTComponentHandler.cxx:139 AliHLTComponentHandler.cxx:140 AliHLTComponentHandler.cxx:141 AliHLTComponentHandler.cxx:142 AliHLTComponentHandler.cxx:143 AliHLTComponentHandler.cxx:144 AliHLTComponentHandler.cxx:145 AliHLTComponentHandler.cxx:146 AliHLTComponentHandler.cxx:147 AliHLTComponentHandler.cxx:148 AliHLTComponentHandler.cxx:149 AliHLTComponentHandler.cxx:150 AliHLTComponentHandler.cxx:151 AliHLTComponentHandler.cxx:152 AliHLTComponentHandler.cxx:153 AliHLTComponentHandler.cxx:154 AliHLTComponentHandler.cxx:155 AliHLTComponentHandler.cxx:156 AliHLTComponentHandler.cxx:157 AliHLTComponentHandler.cxx:158 AliHLTComponentHandler.cxx:159 AliHLTComponentHandler.cxx:160 AliHLTComponentHandler.cxx:161 AliHLTComponentHandler.cxx:162 AliHLTComponentHandler.cxx:163 AliHLTComponentHandler.cxx:164 AliHLTComponentHandler.cxx:165 AliHLTComponentHandler.cxx:166 AliHLTComponentHandler.cxx:167 AliHLTComponentHandler.cxx:168 AliHLTComponentHandler.cxx:169 AliHLTComponentHandler.cxx:170 AliHLTComponentHandler.cxx:171 AliHLTComponentHandler.cxx:172 AliHLTComponentHandler.cxx:173 AliHLTComponentHandler.cxx:174 AliHLTComponentHandler.cxx:175 AliHLTComponentHandler.cxx:176 AliHLTComponentHandler.cxx:177 AliHLTComponentHandler.cxx:178 AliHLTComponentHandler.cxx:179 AliHLTComponentHandler.cxx:180 AliHLTComponentHandler.cxx:181 AliHLTComponentHandler.cxx:182 AliHLTComponentHandler.cxx:183 AliHLTComponentHandler.cxx:184 AliHLTComponentHandler.cxx:185 AliHLTComponentHandler.cxx:186 AliHLTComponentHandler.cxx:187 AliHLTComponentHandler.cxx:188 AliHLTComponentHandler.cxx:189 AliHLTComponentHandler.cxx:190 AliHLTComponentHandler.cxx:191 AliHLTComponentHandler.cxx:192 AliHLTComponentHandler.cxx:193 AliHLTComponentHandler.cxx:194 AliHLTComponentHandler.cxx:195 AliHLTComponentHandler.cxx:196 AliHLTComponentHandler.cxx:197 AliHLTComponentHandler.cxx:198 AliHLTComponentHandler.cxx:199 AliHLTComponentHandler.cxx:200 AliHLTComponentHandler.cxx:201 AliHLTComponentHandler.cxx:202 AliHLTComponentHandler.cxx:203 AliHLTComponentHandler.cxx:204 AliHLTComponentHandler.cxx:205 AliHLTComponentHandler.cxx:206 AliHLTComponentHandler.cxx:207 AliHLTComponentHandler.cxx:208 AliHLTComponentHandler.cxx:209 AliHLTComponentHandler.cxx:210 AliHLTComponentHandler.cxx:211 AliHLTComponentHandler.cxx:212 AliHLTComponentHandler.cxx:213 AliHLTComponentHandler.cxx:214 AliHLTComponentHandler.cxx:215 AliHLTComponentHandler.cxx:216 AliHLTComponentHandler.cxx:217 AliHLTComponentHandler.cxx:218 AliHLTComponentHandler.cxx:219 AliHLTComponentHandler.cxx:220 AliHLTComponentHandler.cxx:221 AliHLTComponentHandler.cxx:222 AliHLTComponentHandler.cxx:223 AliHLTComponentHandler.cxx:224 AliHLTComponentHandler.cxx:225 AliHLTComponentHandler.cxx:226 AliHLTComponentHandler.cxx:227 AliHLTComponentHandler.cxx:228 AliHLTComponentHandler.cxx:229 AliHLTComponentHandler.cxx:230 AliHLTComponentHandler.cxx:231 AliHLTComponentHandler.cxx:232 AliHLTComponentHandler.cxx:233 AliHLTComponentHandler.cxx:234 AliHLTComponentHandler.cxx:235 AliHLTComponentHandler.cxx:236 AliHLTComponentHandler.cxx:237 AliHLTComponentHandler.cxx:238 AliHLTComponentHandler.cxx:239 AliHLTComponentHandler.cxx:240 AliHLTComponentHandler.cxx:241 AliHLTComponentHandler.cxx:242 AliHLTComponentHandler.cxx:243 AliHLTComponentHandler.cxx:244 AliHLTComponentHandler.cxx:245 AliHLTComponentHandler.cxx:246 AliHLTComponentHandler.cxx:247 AliHLTComponentHandler.cxx:248 AliHLTComponentHandler.cxx:249 AliHLTComponentHandler.cxx:250 AliHLTComponentHandler.cxx:251 AliHLTComponentHandler.cxx:252 AliHLTComponentHandler.cxx:253 AliHLTComponentHandler.cxx:254 AliHLTComponentHandler.cxx:255 AliHLTComponentHandler.cxx:256 AliHLTComponentHandler.cxx:257 AliHLTComponentHandler.cxx:258 AliHLTComponentHandler.cxx:259 AliHLTComponentHandler.cxx:260 AliHLTComponentHandler.cxx:261 AliHLTComponentHandler.cxx:262 AliHLTComponentHandler.cxx:263 AliHLTComponentHandler.cxx:264 AliHLTComponentHandler.cxx:265 AliHLTComponentHandler.cxx:266 AliHLTComponentHandler.cxx:267 AliHLTComponentHandler.cxx:268 AliHLTComponentHandler.cxx:269 AliHLTComponentHandler.cxx:270 AliHLTComponentHandler.cxx:271 AliHLTComponentHandler.cxx:272 AliHLTComponentHandler.cxx:273 AliHLTComponentHandler.cxx:274 AliHLTComponentHandler.cxx:275 AliHLTComponentHandler.cxx:276 AliHLTComponentHandler.cxx:277 AliHLTComponentHandler.cxx:278 AliHLTComponentHandler.cxx:279 AliHLTComponentHandler.cxx:280 AliHLTComponentHandler.cxx:281 AliHLTComponentHandler.cxx:282 AliHLTComponentHandler.cxx:283 AliHLTComponentHandler.cxx:284 AliHLTComponentHandler.cxx:285 AliHLTComponentHandler.cxx:286 AliHLTComponentHandler.cxx:287 AliHLTComponentHandler.cxx:288 AliHLTComponentHandler.cxx:289 AliHLTComponentHandler.cxx:290 AliHLTComponentHandler.cxx:291 AliHLTComponentHandler.cxx:292 AliHLTComponentHandler.cxx:293 AliHLTComponentHandler.cxx:294 AliHLTComponentHandler.cxx:295 AliHLTComponentHandler.cxx:296 AliHLTComponentHandler.cxx:297 AliHLTComponentHandler.cxx:298 AliHLTComponentHandler.cxx:299 AliHLTComponentHandler.cxx:300 AliHLTComponentHandler.cxx:301 AliHLTComponentHandler.cxx:302 AliHLTComponentHandler.cxx:303 AliHLTComponentHandler.cxx:304 AliHLTComponentHandler.cxx:305 AliHLTComponentHandler.cxx:306 AliHLTComponentHandler.cxx:307 AliHLTComponentHandler.cxx:308 AliHLTComponentHandler.cxx:309 AliHLTComponentHandler.cxx:310 AliHLTComponentHandler.cxx:311 AliHLTComponentHandler.cxx:312 AliHLTComponentHandler.cxx:313 AliHLTComponentHandler.cxx:314 AliHLTComponentHandler.cxx:315 AliHLTComponentHandler.cxx:316 AliHLTComponentHandler.cxx:317 AliHLTComponentHandler.cxx:318 AliHLTComponentHandler.cxx:319 AliHLTComponentHandler.cxx:320 AliHLTComponentHandler.cxx:321 AliHLTComponentHandler.cxx:322 AliHLTComponentHandler.cxx:323 AliHLTComponentHandler.cxx:324 AliHLTComponentHandler.cxx:325 AliHLTComponentHandler.cxx:326 AliHLTComponentHandler.cxx:327 AliHLTComponentHandler.cxx:328 AliHLTComponentHandler.cxx:329 AliHLTComponentHandler.cxx:330 AliHLTComponentHandler.cxx:331 AliHLTComponentHandler.cxx:332 AliHLTComponentHandler.cxx:333 AliHLTComponentHandler.cxx:334 AliHLTComponentHandler.cxx:335 AliHLTComponentHandler.cxx:336 AliHLTComponentHandler.cxx:337 AliHLTComponentHandler.cxx:338 AliHLTComponentHandler.cxx:339 AliHLTComponentHandler.cxx:340 AliHLTComponentHandler.cxx:341 AliHLTComponentHandler.cxx:342 AliHLTComponentHandler.cxx:343 AliHLTComponentHandler.cxx:344 AliHLTComponentHandler.cxx:345 AliHLTComponentHandler.cxx:346 AliHLTComponentHandler.cxx:347 AliHLTComponentHandler.cxx:348 AliHLTComponentHandler.cxx:349 AliHLTComponentHandler.cxx:350 AliHLTComponentHandler.cxx:351 AliHLTComponentHandler.cxx:352 AliHLTComponentHandler.cxx:353 AliHLTComponentHandler.cxx:354 AliHLTComponentHandler.cxx:355 AliHLTComponentHandler.cxx:356 AliHLTComponentHandler.cxx:357 AliHLTComponentHandler.cxx:358 AliHLTComponentHandler.cxx:359 AliHLTComponentHandler.cxx:360 AliHLTComponentHandler.cxx:361 AliHLTComponentHandler.cxx:362 AliHLTComponentHandler.cxx:363 AliHLTComponentHandler.cxx:364 AliHLTComponentHandler.cxx:365 AliHLTComponentHandler.cxx:366 AliHLTComponentHandler.cxx:367 AliHLTComponentHandler.cxx:368 AliHLTComponentHandler.cxx:369 AliHLTComponentHandler.cxx:370 AliHLTComponentHandler.cxx:371 AliHLTComponentHandler.cxx:372 AliHLTComponentHandler.cxx:373 AliHLTComponentHandler.cxx:374 AliHLTComponentHandler.cxx:375 AliHLTComponentHandler.cxx:376 AliHLTComponentHandler.cxx:377 AliHLTComponentHandler.cxx:378 AliHLTComponentHandler.cxx:379 AliHLTComponentHandler.cxx:380 AliHLTComponentHandler.cxx:381 AliHLTComponentHandler.cxx:382 AliHLTComponentHandler.cxx:383 AliHLTComponentHandler.cxx:384 AliHLTComponentHandler.cxx:385 AliHLTComponentHandler.cxx:386 AliHLTComponentHandler.cxx:387 AliHLTComponentHandler.cxx:388 AliHLTComponentHandler.cxx:389 AliHLTComponentHandler.cxx:390 AliHLTComponentHandler.cxx:391 AliHLTComponentHandler.cxx:392 AliHLTComponentHandler.cxx:393 AliHLTComponentHandler.cxx:394 AliHLTComponentHandler.cxx:395 AliHLTComponentHandler.cxx:396 AliHLTComponentHandler.cxx:397 AliHLTComponentHandler.cxx:398 AliHLTComponentHandler.cxx:399 AliHLTComponentHandler.cxx:400 AliHLTComponentHandler.cxx:401 AliHLTComponentHandler.cxx:402 AliHLTComponentHandler.cxx:403 AliHLTComponentHandler.cxx:404 AliHLTComponentHandler.cxx:405 AliHLTComponentHandler.cxx:406 AliHLTComponentHandler.cxx:407 AliHLTComponentHandler.cxx:408 AliHLTComponentHandler.cxx:409 AliHLTComponentHandler.cxx:410 AliHLTComponentHandler.cxx:411 AliHLTComponentHandler.cxx:412 AliHLTComponentHandler.cxx:413 AliHLTComponentHandler.cxx:414 AliHLTComponentHandler.cxx:415 AliHLTComponentHandler.cxx:416 AliHLTComponentHandler.cxx:417 AliHLTComponentHandler.cxx:418 AliHLTComponentHandler.cxx:419 AliHLTComponentHandler.cxx:420 AliHLTComponentHandler.cxx:421 AliHLTComponentHandler.cxx:422 AliHLTComponentHandler.cxx:423 AliHLTComponentHandler.cxx:424 AliHLTComponentHandler.cxx:425 AliHLTComponentHandler.cxx:426 AliHLTComponentHandler.cxx:427 AliHLTComponentHandler.cxx:428 AliHLTComponentHandler.cxx:429 AliHLTComponentHandler.cxx:430 AliHLTComponentHandler.cxx:431 AliHLTComponentHandler.cxx:432 AliHLTComponentHandler.cxx:433 AliHLTComponentHandler.cxx:434 AliHLTComponentHandler.cxx:435 AliHLTComponentHandler.cxx:436 AliHLTComponentHandler.cxx:437 AliHLTComponentHandler.cxx:438 AliHLTComponentHandler.cxx:439 AliHLTComponentHandler.cxx:440 AliHLTComponentHandler.cxx:441 AliHLTComponentHandler.cxx:442 AliHLTComponentHandler.cxx:443 AliHLTComponentHandler.cxx:444 AliHLTComponentHandler.cxx:445 AliHLTComponentHandler.cxx:446 AliHLTComponentHandler.cxx:447 AliHLTComponentHandler.cxx:448 AliHLTComponentHandler.cxx:449 AliHLTComponentHandler.cxx:450 AliHLTComponentHandler.cxx:451 AliHLTComponentHandler.cxx:452 AliHLTComponentHandler.cxx:453 AliHLTComponentHandler.cxx:454 AliHLTComponentHandler.cxx:455 AliHLTComponentHandler.cxx:456 AliHLTComponentHandler.cxx:457 AliHLTComponentHandler.cxx:458 AliHLTComponentHandler.cxx:459 AliHLTComponentHandler.cxx:460 AliHLTComponentHandler.cxx:461 AliHLTComponentHandler.cxx:462 AliHLTComponentHandler.cxx:463 AliHLTComponentHandler.cxx:464 AliHLTComponentHandler.cxx:465 AliHLTComponentHandler.cxx:466 AliHLTComponentHandler.cxx:467 AliHLTComponentHandler.cxx:468 AliHLTComponentHandler.cxx:469 AliHLTComponentHandler.cxx:470 AliHLTComponentHandler.cxx:471 AliHLTComponentHandler.cxx:472 AliHLTComponentHandler.cxx:473 AliHLTComponentHandler.cxx:474 AliHLTComponentHandler.cxx:475 AliHLTComponentHandler.cxx:476 AliHLTComponentHandler.cxx:477 AliHLTComponentHandler.cxx:478 AliHLTComponentHandler.cxx:479 AliHLTComponentHandler.cxx:480 AliHLTComponentHandler.cxx:481 AliHLTComponentHandler.cxx:482 AliHLTComponentHandler.cxx:483 AliHLTComponentHandler.cxx:484 AliHLTComponentHandler.cxx:485 AliHLTComponentHandler.cxx:486 AliHLTComponentHandler.cxx:487 AliHLTComponentHandler.cxx:488 AliHLTComponentHandler.cxx:489 AliHLTComponentHandler.cxx:490 AliHLTComponentHandler.cxx:491 AliHLTComponentHandler.cxx:492 AliHLTComponentHandler.cxx:493 AliHLTComponentHandler.cxx:494 AliHLTComponentHandler.cxx:495 AliHLTComponentHandler.cxx:496 AliHLTComponentHandler.cxx:497 AliHLTComponentHandler.cxx:498 AliHLTComponentHandler.cxx:499 AliHLTComponentHandler.cxx:500 AliHLTComponentHandler.cxx:501 AliHLTComponentHandler.cxx:502 AliHLTComponentHandler.cxx:503 AliHLTComponentHandler.cxx:504 AliHLTComponentHandler.cxx:505 AliHLTComponentHandler.cxx:506 AliHLTComponentHandler.cxx:507 AliHLTComponentHandler.cxx:508 AliHLTComponentHandler.cxx:509 AliHLTComponentHandler.cxx:510 AliHLTComponentHandler.cxx:511 AliHLTComponentHandler.cxx:512 AliHLTComponentHandler.cxx:513 AliHLTComponentHandler.cxx:514 AliHLTComponentHandler.cxx:515 AliHLTComponentHandler.cxx:516 AliHLTComponentHandler.cxx:517 AliHLTComponentHandler.cxx:518 AliHLTComponentHandler.cxx:519 AliHLTComponentHandler.cxx:520 AliHLTComponentHandler.cxx:521 AliHLTComponentHandler.cxx:522 AliHLTComponentHandler.cxx:523 AliHLTComponentHandler.cxx:524 AliHLTComponentHandler.cxx:525 AliHLTComponentHandler.cxx:526 AliHLTComponentHandler.cxx:527 AliHLTComponentHandler.cxx:528 AliHLTComponentHandler.cxx:529 AliHLTComponentHandler.cxx:530 AliHLTComponentHandler.cxx:531 AliHLTComponentHandler.cxx:532 AliHLTComponentHandler.cxx:533 AliHLTComponentHandler.cxx:534 AliHLTComponentHandler.cxx:535 AliHLTComponentHandler.cxx:536 AliHLTComponentHandler.cxx:537 AliHLTComponentHandler.cxx:538 AliHLTComponentHandler.cxx:539 AliHLTComponentHandler.cxx:540 AliHLTComponentHandler.cxx:541 AliHLTComponentHandler.cxx:542 AliHLTComponentHandler.cxx:543 AliHLTComponentHandler.cxx:544 AliHLTComponentHandler.cxx:545 AliHLTComponentHandler.cxx:546 AliHLTComponentHandler.cxx:547 AliHLTComponentHandler.cxx:548 AliHLTComponentHandler.cxx:549 AliHLTComponentHandler.cxx:550 AliHLTComponentHandler.cxx:551 AliHLTComponentHandler.cxx:552 AliHLTComponentHandler.cxx:553 AliHLTComponentHandler.cxx:554 AliHLTComponentHandler.cxx:555 AliHLTComponentHandler.cxx:556 AliHLTComponentHandler.cxx:557 AliHLTComponentHandler.cxx:558 AliHLTComponentHandler.cxx:559 AliHLTComponentHandler.cxx:560 AliHLTComponentHandler.cxx:561 AliHLTComponentHandler.cxx:562 AliHLTComponentHandler.cxx:563 AliHLTComponentHandler.cxx:564 AliHLTComponentHandler.cxx:565 AliHLTComponentHandler.cxx:566 AliHLTComponentHandler.cxx:567 AliHLTComponentHandler.cxx:568 AliHLTComponentHandler.cxx:569 AliHLTComponentHandler.cxx:570 AliHLTComponentHandler.cxx:571 AliHLTComponentHandler.cxx:572 AliHLTComponentHandler.cxx:573 AliHLTComponentHandler.cxx:574 AliHLTComponentHandler.cxx:575 AliHLTComponentHandler.cxx:576 AliHLTComponentHandler.cxx:577 AliHLTComponentHandler.cxx:578 AliHLTComponentHandler.cxx:579 AliHLTComponentHandler.cxx:580 AliHLTComponentHandler.cxx:581 AliHLTComponentHandler.cxx:582 AliHLTComponentHandler.cxx:583 AliHLTComponentHandler.cxx:584 AliHLTComponentHandler.cxx:585 AliHLTComponentHandler.cxx:586 AliHLTComponentHandler.cxx:587 AliHLTComponentHandler.cxx:588 AliHLTComponentHandler.cxx:589 AliHLTComponentHandler.cxx:590 AliHLTComponentHandler.cxx:591 AliHLTComponentHandler.cxx:592 AliHLTComponentHandler.cxx:593 AliHLTComponentHandler.cxx:594 AliHLTComponentHandler.cxx:595 AliHLTComponentHandler.cxx:596 AliHLTComponentHandler.cxx:597 AliHLTComponentHandler.cxx:598 AliHLTComponentHandler.cxx:599 AliHLTComponentHandler.cxx:600 AliHLTComponentHandler.cxx:601 AliHLTComponentHandler.cxx:602 AliHLTComponentHandler.cxx:603 AliHLTComponentHandler.cxx:604 AliHLTComponentHandler.cxx:605 AliHLTComponentHandler.cxx:606 AliHLTComponentHandler.cxx:607 AliHLTComponentHandler.cxx:608 AliHLTComponentHandler.cxx:609 AliHLTComponentHandler.cxx:610 AliHLTComponentHandler.cxx:611 AliHLTComponentHandler.cxx:612 AliHLTComponentHandler.cxx:613 AliHLTComponentHandler.cxx:614 AliHLTComponentHandler.cxx:615 AliHLTComponentHandler.cxx:616 AliHLTComponentHandler.cxx:617 AliHLTComponentHandler.cxx:618 AliHLTComponentHandler.cxx:619 AliHLTComponentHandler.cxx:620 AliHLTComponentHandler.cxx:621 AliHLTComponentHandler.cxx:622 AliHLTComponentHandler.cxx:623 AliHLTComponentHandler.cxx:624 AliHLTComponentHandler.cxx:625 AliHLTComponentHandler.cxx:626 AliHLTComponentHandler.cxx:627 AliHLTComponentHandler.cxx:628 AliHLTComponentHandler.cxx:629 AliHLTComponentHandler.cxx:630 AliHLTComponentHandler.cxx:631 AliHLTComponentHandler.cxx:632 AliHLTComponentHandler.cxx:633 AliHLTComponentHandler.cxx:634 AliHLTComponentHandler.cxx:635 AliHLTComponentHandler.cxx:636 AliHLTComponentHandler.cxx:637 AliHLTComponentHandler.cxx:638 AliHLTComponentHandler.cxx:639 AliHLTComponentHandler.cxx:640 AliHLTComponentHandler.cxx:641 AliHLTComponentHandler.cxx:642 AliHLTComponentHandler.cxx:643 AliHLTComponentHandler.cxx:644 AliHLTComponentHandler.cxx:645 AliHLTComponentHandler.cxx:646 AliHLTComponentHandler.cxx:647 AliHLTComponentHandler.cxx:648 AliHLTComponentHandler.cxx:649 AliHLTComponentHandler.cxx:650 AliHLTComponentHandler.cxx:651 AliHLTComponentHandler.cxx:652 AliHLTComponentHandler.cxx:653 AliHLTComponentHandler.cxx:654 AliHLTComponentHandler.cxx:655 AliHLTComponentHandler.cxx:656 AliHLTComponentHandler.cxx:657 AliHLTComponentHandler.cxx:658 AliHLTComponentHandler.cxx:659 AliHLTComponentHandler.cxx:660 AliHLTComponentHandler.cxx:661 AliHLTComponentHandler.cxx:662 AliHLTComponentHandler.cxx:663 AliHLTComponentHandler.cxx:664 AliHLTComponentHandler.cxx:665 AliHLTComponentHandler.cxx:666 AliHLTComponentHandler.cxx:667 AliHLTComponentHandler.cxx:668 AliHLTComponentHandler.cxx:669 AliHLTComponentHandler.cxx:670 AliHLTComponentHandler.cxx:671 AliHLTComponentHandler.cxx:672 AliHLTComponentHandler.cxx:673 AliHLTComponentHandler.cxx:674 AliHLTComponentHandler.cxx:675 AliHLTComponentHandler.cxx:676 AliHLTComponentHandler.cxx:677 AliHLTComponentHandler.cxx:678 AliHLTComponentHandler.cxx:679 AliHLTComponentHandler.cxx:680 AliHLTComponentHandler.cxx:681 AliHLTComponentHandler.cxx:682 AliHLTComponentHandler.cxx:683 AliHLTComponentHandler.cxx:684 AliHLTComponentHandler.cxx:685 AliHLTComponentHandler.cxx:686 AliHLTComponentHandler.cxx:687 AliHLTComponentHandler.cxx:688 AliHLTComponentHandler.cxx:689 AliHLTComponentHandler.cxx:690 AliHLTComponentHandler.cxx:691 AliHLTComponentHandler.cxx:692 AliHLTComponentHandler.cxx:693 AliHLTComponentHandler.cxx:694 AliHLTComponentHandler.cxx:695 AliHLTComponentHandler.cxx:696 AliHLTComponentHandler.cxx:697