#include "AliHLTPreprocessor.h"
#include "AliHLTModulePreprocessor.h"
#include "AliHLTSystem.h"
#include "AliHLTModuleAgent.h"
#include "TSystem.h"
ClassImp(AliHLTPreprocessor)
AliHLTPreprocessor::AliHLTPreprocessor(AliShuttleInterface* shuttle)
:
AliPreprocessor(fgkHLTPreproc, shuttle),
fProcessors(),
fActiveDetectors(0)
{
AddRunType("STANDALONE");
AddRunType("PHYSICS");
AddRunType("COSMIC");
AddRunType("LASER");
AddRunType("PEDESTAL");
AddRunType("PULSER");
AddRunType("PEDESTAL");
AddRunType("STANDALONE");
fProcessors.SetOwner();
}
const char* AliHLTPreprocessor::fgkHLTPreproc = "HLT";
const char* AliHLTPreprocessor::fgkHLTDefaultShuttleLibs[]= {
"libAliHLTUtil.so",
"libAliHLTRCU.so",
"libAliHLTTPC.so",
"libAliHLTComp.so",
"libAliHLTTRD.so",
"libAliHLTGlobal.so",
"libAliHLTTrigger.so",
NULL
};
AliHLTPreprocessor::~AliHLTPreprocessor()
{
}
void AliHLTPreprocessor::Initialize(Int_t run, UInt_t startTime,
UInt_t endTime)
{
fRun = run;
fStartTime = startTime;
fEndTime = endTime;
fActiveDetectors = atoi(AliPreprocessor::GetRunParameter("detectorMask"));
TString libs;
const char** deflib=fgkHLTDefaultShuttleLibs;
while (*deflib) {
if (gSystem->Load(*deflib)==0) {
Log(Form("HLT component library %s loaded", *deflib));
}
deflib++;
}
for (AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
pAgent!=NULL;
pAgent=AliHLTModuleAgent::GetNextAgent()) {
AliHLTModulePreprocessor* pProc=pAgent->GetPreprocessor();
if (pProc)
{
int moduleNo=pProc->GetModuleNumber();
if(moduleNo>0 && (moduleNo & fActiveDetectors) == 0)
{
TString msg;
msg.Form("preprocessor module %s inactive", pProc->GetModuleID());
Log(msg.Data());
continue;
}
pProc->SetShuttleInterface(this);
pProc->Initialize(run, startTime, endTime);
fProcessors.Add(pProc);
TString msg;
msg.Form("added preprocessor %p with ID %s for module %p", pProc, pProc->GetModuleID(), pAgent);
Log(msg.Data());
}
}
}
UInt_t AliHLTPreprocessor::Process(TMap* dcsAliasMap)
{
UInt_t retVal = 0;
if (!GetHLTStatus()) {
return 0;
}
bool bAllFailed=fProcessors.GetEntries()>0;
TObjLink *lnk = NULL;
lnk=fProcessors.FirstLink();
while (lnk) {
AliHLTModulePreprocessor* pProc=dynamic_cast<AliHLTModulePreprocessor*>(lnk->GetObject());
if (pProc) {
UInt_t result=pProc->Process(dcsAliasMap);
if (result) {
TString msg;
msg.Form("preprocessor for module %s failed with error code %d", pProc->GetName(), result);
Log(msg.Data());
} else {
bAllFailed=false;
}
}
lnk = lnk->Next();
}
if (bAllFailed) return 1;
return retVal;
}
AliHLTPreprocessor.cxx:10 AliHLTPreprocessor.cxx:11 AliHLTPreprocessor.cxx:12 AliHLTPreprocessor.cxx:13 AliHLTPreprocessor.cxx:14 AliHLTPreprocessor.cxx:15 AliHLTPreprocessor.cxx:16 AliHLTPreprocessor.cxx:17 AliHLTPreprocessor.cxx:18 AliHLTPreprocessor.cxx:19 AliHLTPreprocessor.cxx:20 AliHLTPreprocessor.cxx:21 AliHLTPreprocessor.cxx:22 AliHLTPreprocessor.cxx:23 AliHLTPreprocessor.cxx:24 AliHLTPreprocessor.cxx:25 AliHLTPreprocessor.cxx:26 AliHLTPreprocessor.cxx:27 AliHLTPreprocessor.cxx:28 AliHLTPreprocessor.cxx:29 AliHLTPreprocessor.cxx:30 AliHLTPreprocessor.cxx:31 AliHLTPreprocessor.cxx:32 AliHLTPreprocessor.cxx:33 AliHLTPreprocessor.cxx:34 AliHLTPreprocessor.cxx:35 AliHLTPreprocessor.cxx:36 AliHLTPreprocessor.cxx:37 AliHLTPreprocessor.cxx:38 AliHLTPreprocessor.cxx:39 AliHLTPreprocessor.cxx:40 AliHLTPreprocessor.cxx:41 AliHLTPreprocessor.cxx:42 AliHLTPreprocessor.cxx:43 AliHLTPreprocessor.cxx:44 AliHLTPreprocessor.cxx:45 AliHLTPreprocessor.cxx:46 AliHLTPreprocessor.cxx:47 AliHLTPreprocessor.cxx:48 AliHLTPreprocessor.cxx:49 AliHLTPreprocessor.cxx:50 AliHLTPreprocessor.cxx:51 AliHLTPreprocessor.cxx:52 AliHLTPreprocessor.cxx:53 AliHLTPreprocessor.cxx:54 AliHLTPreprocessor.cxx:55 AliHLTPreprocessor.cxx:56 AliHLTPreprocessor.cxx:57 AliHLTPreprocessor.cxx:58 AliHLTPreprocessor.cxx:59 AliHLTPreprocessor.cxx:60 AliHLTPreprocessor.cxx:61 AliHLTPreprocessor.cxx:62 AliHLTPreprocessor.cxx:63 AliHLTPreprocessor.cxx:64 AliHLTPreprocessor.cxx:65 AliHLTPreprocessor.cxx:66 AliHLTPreprocessor.cxx:67 AliHLTPreprocessor.cxx:68 AliHLTPreprocessor.cxx:69 AliHLTPreprocessor.cxx:70 AliHLTPreprocessor.cxx:71 AliHLTPreprocessor.cxx:72 AliHLTPreprocessor.cxx:73 AliHLTPreprocessor.cxx:74 AliHLTPreprocessor.cxx:75 AliHLTPreprocessor.cxx:76 AliHLTPreprocessor.cxx:77 AliHLTPreprocessor.cxx:78 AliHLTPreprocessor.cxx:79 AliHLTPreprocessor.cxx:80 AliHLTPreprocessor.cxx:81 AliHLTPreprocessor.cxx:82 AliHLTPreprocessor.cxx:83 AliHLTPreprocessor.cxx:84 AliHLTPreprocessor.cxx:85 AliHLTPreprocessor.cxx:86 AliHLTPreprocessor.cxx:87 AliHLTPreprocessor.cxx:88 AliHLTPreprocessor.cxx:89 AliHLTPreprocessor.cxx:90 AliHLTPreprocessor.cxx:91 AliHLTPreprocessor.cxx:92 AliHLTPreprocessor.cxx:93 AliHLTPreprocessor.cxx:94 AliHLTPreprocessor.cxx:95 AliHLTPreprocessor.cxx:96 AliHLTPreprocessor.cxx:97 AliHLTPreprocessor.cxx:98 AliHLTPreprocessor.cxx:99 AliHLTPreprocessor.cxx:100 AliHLTPreprocessor.cxx:101 AliHLTPreprocessor.cxx:102 AliHLTPreprocessor.cxx:103 AliHLTPreprocessor.cxx:104 AliHLTPreprocessor.cxx:105 AliHLTPreprocessor.cxx:106 AliHLTPreprocessor.cxx:107 AliHLTPreprocessor.cxx:108 AliHLTPreprocessor.cxx:109 AliHLTPreprocessor.cxx:110 AliHLTPreprocessor.cxx:111 AliHLTPreprocessor.cxx:112 AliHLTPreprocessor.cxx:113 AliHLTPreprocessor.cxx:114 AliHLTPreprocessor.cxx:115 AliHLTPreprocessor.cxx:116 AliHLTPreprocessor.cxx:117 AliHLTPreprocessor.cxx:118 AliHLTPreprocessor.cxx:119 AliHLTPreprocessor.cxx:120 AliHLTPreprocessor.cxx:121 AliHLTPreprocessor.cxx:122 AliHLTPreprocessor.cxx:123 AliHLTPreprocessor.cxx:124 AliHLTPreprocessor.cxx:125 AliHLTPreprocessor.cxx:126 AliHLTPreprocessor.cxx:127 AliHLTPreprocessor.cxx:128 AliHLTPreprocessor.cxx:129 AliHLTPreprocessor.cxx:130 AliHLTPreprocessor.cxx:131 AliHLTPreprocessor.cxx:132 AliHLTPreprocessor.cxx:133 AliHLTPreprocessor.cxx:134 AliHLTPreprocessor.cxx:135 AliHLTPreprocessor.cxx:136 AliHLTPreprocessor.cxx:137 AliHLTPreprocessor.cxx:138 AliHLTPreprocessor.cxx:139 AliHLTPreprocessor.cxx:140 AliHLTPreprocessor.cxx:141 AliHLTPreprocessor.cxx:142 AliHLTPreprocessor.cxx:143 AliHLTPreprocessor.cxx:144 AliHLTPreprocessor.cxx:145 AliHLTPreprocessor.cxx:146 AliHLTPreprocessor.cxx:147 AliHLTPreprocessor.cxx:148 AliHLTPreprocessor.cxx:149 AliHLTPreprocessor.cxx:150 AliHLTPreprocessor.cxx:151 AliHLTPreprocessor.cxx:152 AliHLTPreprocessor.cxx:153 AliHLTPreprocessor.cxx:154 AliHLTPreprocessor.cxx:155 AliHLTPreprocessor.cxx:156 AliHLTPreprocessor.cxx:157 AliHLTPreprocessor.cxx:158 AliHLTPreprocessor.cxx:159 AliHLTPreprocessor.cxx:160 AliHLTPreprocessor.cxx:161 AliHLTPreprocessor.cxx:162 AliHLTPreprocessor.cxx:163 AliHLTPreprocessor.cxx:164 AliHLTPreprocessor.cxx:165 AliHLTPreprocessor.cxx:166 AliHLTPreprocessor.cxx:167 AliHLTPreprocessor.cxx:168 AliHLTPreprocessor.cxx:169 AliHLTPreprocessor.cxx:170 AliHLTPreprocessor.cxx:171 AliHLTPreprocessor.cxx:172 AliHLTPreprocessor.cxx:173 AliHLTPreprocessor.cxx:174 AliHLTPreprocessor.cxx:175