#include <cstdlib>
#include <cassert>
#include "AliHLTModulePreprocessor.h"
#include "AliHLTShuttleInterface.h"
#include "TObjString.h"
#include "TString.h"
#include "TMap.h"
#include "TObject.h"
#include "TObjArray.h"
ClassImp(AliHLTModulePreprocessor)
AliHLTModulePreprocessor::AliHLTModulePreprocessor()
:
fpInterface(NULL),
fActiveDetectors(0)
{
}
AliHLTModulePreprocessor::~AliHLTModulePreprocessor()
{
}
const Int_t AliHLTModulePreprocessor::kNDetectors = 22;
const char* AliHLTModulePreprocessor::fgkDetectorName[kNDetectors] =
{
"ITSSPD",
"ITSSDD",
"ITSSSD",
"TPC",
"TRD",
"TOF",
"HMPID",
"PHOS",
"CPV",
"PMD",
"MUONTRK",
"MUONTRG",
"FMD",
"T0",
"VZERO",
"ZDC",
"ACORDE",
"TRG",
"EMCAL",
"DAQ_TEST",
"HLT",
"MFT"
};
void AliHLTModulePreprocessor::SetShuttleInterface(AliHLTShuttleInterface* pInterface)
{
assert(fpInterface==NULL || fpInterface==pInterface || pInterface==NULL);
fpInterface=pInterface;
}
Int_t AliHLTModulePreprocessor::GetRun() const
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetRun();
}
UInt_t AliHLTModulePreprocessor::GetStartTime() const
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetStartTime();
}
UInt_t AliHLTModulePreprocessor::GetEndTime() const
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetEndTime();
}
Bool_t AliHLTModulePreprocessor::Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
AliCDBMetaData* metaData, Int_t validityStart, Bool_t validityInfinite)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorStore(pathLevel2, pathLevel3, object, metaData, validityStart, validityInfinite);
}
Bool_t AliHLTModulePreprocessor::StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
AliCDBMetaData* metaData)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorStoreReferenceData(pathLevel2, pathLevel3, object, metaData);
}
Bool_t AliHLTModulePreprocessor::StoreReferenceFile(const char* localFile, const char* gridFileName)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorStoreReferenceFile(localFile, gridFileName);
}
Bool_t AliHLTModulePreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorStoreRunMetadataFile(localFile, gridFileName);
}
const char* AliHLTModulePreprocessor::GetFile(Int_t system, const char* id, const char* source)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetFile(system, id, source);
}
TList* AliHLTModulePreprocessor::GetFileSources(Int_t system, const char* id)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetFileSources(system, id);
}
TList* AliHLTModulePreprocessor::GetFileIDs(Int_t system, const char* source)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetFileIDs(system, source);
}
const char* AliHLTModulePreprocessor::GetRunParameter(const char* param)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetRunParameter(param);
}
AliCDBEntry* AliHLTModulePreprocessor::GetFromOCDB(const char* pathLevel2, const char* pathLevel3)
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetFromOCDB(pathLevel2, pathLevel3);
}
const char* AliHLTModulePreprocessor::GetRunType()
{
assert(fpInterface);
if (!fpInterface) return 0;
return fpInterface->PreprocessorGetRunType();
}
void AliHLTModulePreprocessor::Log(const char* message)
{
assert(fpInterface);
if (!fpInterface) return;
fpInterface->PreprocessorLog(message);
}
Int_t AliHLTModulePreprocessor::DetectorBitMask(const char *detectorName)
{
TString detStr = detectorName;
Int_t iDet;
for(iDet = 0; iDet < kNDetectors; iDet++) {
if (detStr.CompareTo(fgkDetectorName[iDet],TString::kIgnoreCase) == 0)
break;
}
if (iDet == kNDetectors)
{
TString errormessage;
errormessage.Form("Invalid detector name: %s !",detectorName);
Log(errormessage.Data());
return -1;
}
Int_t detectorbitmask = 0;
if(iDet > 32)
{
TString errormessage2;
errormessage2.Form("Invalid detector bit position in detectorMask: %d !", iDet);
Log(errormessage2.Data());
return -1;
}
detectorbitmask = (1 << iDet);
return detectorbitmask;
}
Bool_t AliHLTModulePreprocessor::GetDetectorStatus(Int_t detectorbitmask)
{
fActiveDetectors = atoi(AliHLTModulePreprocessor::GetRunParameter("detectorMask"));
if((fActiveDetectors & detectorbitmask) != 0)
{
return 1;
}
else
{
return 0;
}
}
const char *AliHLTModulePreprocessor::DetectorName(Int_t detectorID)
{
if (detectorID < 0 || detectorID >= kNDetectors)
{
TString errormessage;
errormessage.Form("Invalid detector index: %d (%d -> %d) !",detectorID,0,kNDetectors-1);
Log(errormessage.Data());
return "";
}
return fgkDetectorName[detectorID];
}
TObject* AliHLTModulePreprocessor::GetFromMap(TMap* dcsAliasMap, const char* stringId) const
{
TObject* object=dcsAliasMap->FindObject(stringId);
if (!object) return NULL;
TPair* pair = dynamic_cast<TPair*>(object);
if (pair && pair->Value()) {
TObjArray* valueSet = dynamic_cast<TObjArray*>(pair->Value());
if (!valueSet) return NULL;
Int_t nentriesDCS = valueSet->GetEntriesFast() - 1;
if(nentriesDCS>=0 && valueSet->At(nentriesDCS)){
return valueSet->At(nentriesDCS);
}
}
return NULL;
}
AliHLTModulePreprocessor.cxx:1 AliHLTModulePreprocessor.cxx:2 AliHLTModulePreprocessor.cxx:3 AliHLTModulePreprocessor.cxx:4 AliHLTModulePreprocessor.cxx:5 AliHLTModulePreprocessor.cxx:6 AliHLTModulePreprocessor.cxx:7 AliHLTModulePreprocessor.cxx:8 AliHLTModulePreprocessor.cxx:9 AliHLTModulePreprocessor.cxx:10 AliHLTModulePreprocessor.cxx:11 AliHLTModulePreprocessor.cxx:12 AliHLTModulePreprocessor.cxx:13 AliHLTModulePreprocessor.cxx:14 AliHLTModulePreprocessor.cxx:15 AliHLTModulePreprocessor.cxx:16 AliHLTModulePreprocessor.cxx:17 AliHLTModulePreprocessor.cxx:18 AliHLTModulePreprocessor.cxx:19 AliHLTModulePreprocessor.cxx:20 AliHLTModulePreprocessor.cxx:21 AliHLTModulePreprocessor.cxx:22 AliHLTModulePreprocessor.cxx:23 AliHLTModulePreprocessor.cxx:24 AliHLTModulePreprocessor.cxx:25 AliHLTModulePreprocessor.cxx:26 AliHLTModulePreprocessor.cxx:27 AliHLTModulePreprocessor.cxx:28 AliHLTModulePreprocessor.cxx:29 AliHLTModulePreprocessor.cxx:30 AliHLTModulePreprocessor.cxx:31 AliHLTModulePreprocessor.cxx:32 AliHLTModulePreprocessor.cxx:33 AliHLTModulePreprocessor.cxx:34 AliHLTModulePreprocessor.cxx:35 AliHLTModulePreprocessor.cxx:36 AliHLTModulePreprocessor.cxx:37 AliHLTModulePreprocessor.cxx:38 AliHLTModulePreprocessor.cxx:39 AliHLTModulePreprocessor.cxx:40 AliHLTModulePreprocessor.cxx:41 AliHLTModulePreprocessor.cxx:42 AliHLTModulePreprocessor.cxx:43 AliHLTModulePreprocessor.cxx:44 AliHLTModulePreprocessor.cxx:45 AliHLTModulePreprocessor.cxx:46 AliHLTModulePreprocessor.cxx:47 AliHLTModulePreprocessor.cxx:48 AliHLTModulePreprocessor.cxx:49 AliHLTModulePreprocessor.cxx:50 AliHLTModulePreprocessor.cxx:51 AliHLTModulePreprocessor.cxx:52 AliHLTModulePreprocessor.cxx:53 AliHLTModulePreprocessor.cxx:54 AliHLTModulePreprocessor.cxx:55 AliHLTModulePreprocessor.cxx:56 AliHLTModulePreprocessor.cxx:57 AliHLTModulePreprocessor.cxx:58 AliHLTModulePreprocessor.cxx:59 AliHLTModulePreprocessor.cxx:60 AliHLTModulePreprocessor.cxx:61 AliHLTModulePreprocessor.cxx:62 AliHLTModulePreprocessor.cxx:63 AliHLTModulePreprocessor.cxx:64 AliHLTModulePreprocessor.cxx:65 AliHLTModulePreprocessor.cxx:66 AliHLTModulePreprocessor.cxx:67 AliHLTModulePreprocessor.cxx:68 AliHLTModulePreprocessor.cxx:69 AliHLTModulePreprocessor.cxx:70 AliHLTModulePreprocessor.cxx:71 AliHLTModulePreprocessor.cxx:72 AliHLTModulePreprocessor.cxx:73 AliHLTModulePreprocessor.cxx:74 AliHLTModulePreprocessor.cxx:75 AliHLTModulePreprocessor.cxx:76 AliHLTModulePreprocessor.cxx:77 AliHLTModulePreprocessor.cxx:78 AliHLTModulePreprocessor.cxx:79 AliHLTModulePreprocessor.cxx:80 AliHLTModulePreprocessor.cxx:81 AliHLTModulePreprocessor.cxx:82 AliHLTModulePreprocessor.cxx:83 AliHLTModulePreprocessor.cxx:84 AliHLTModulePreprocessor.cxx:85 AliHLTModulePreprocessor.cxx:86 AliHLTModulePreprocessor.cxx:87 AliHLTModulePreprocessor.cxx:88 AliHLTModulePreprocessor.cxx:89 AliHLTModulePreprocessor.cxx:90 AliHLTModulePreprocessor.cxx:91 AliHLTModulePreprocessor.cxx:92 AliHLTModulePreprocessor.cxx:93 AliHLTModulePreprocessor.cxx:94 AliHLTModulePreprocessor.cxx:95 AliHLTModulePreprocessor.cxx:96 AliHLTModulePreprocessor.cxx:97 AliHLTModulePreprocessor.cxx:98 AliHLTModulePreprocessor.cxx:99 AliHLTModulePreprocessor.cxx:100 AliHLTModulePreprocessor.cxx:101 AliHLTModulePreprocessor.cxx:102 AliHLTModulePreprocessor.cxx:103 AliHLTModulePreprocessor.cxx:104 AliHLTModulePreprocessor.cxx:105 AliHLTModulePreprocessor.cxx:106 AliHLTModulePreprocessor.cxx:107 AliHLTModulePreprocessor.cxx:108 AliHLTModulePreprocessor.cxx:109 AliHLTModulePreprocessor.cxx:110 AliHLTModulePreprocessor.cxx:111 AliHLTModulePreprocessor.cxx:112 AliHLTModulePreprocessor.cxx:113 AliHLTModulePreprocessor.cxx:114 AliHLTModulePreprocessor.cxx:115 AliHLTModulePreprocessor.cxx:116 AliHLTModulePreprocessor.cxx:117 AliHLTModulePreprocessor.cxx:118 AliHLTModulePreprocessor.cxx:119 AliHLTModulePreprocessor.cxx:120 AliHLTModulePreprocessor.cxx:121 AliHLTModulePreprocessor.cxx:122 AliHLTModulePreprocessor.cxx:123 AliHLTModulePreprocessor.cxx:124 AliHLTModulePreprocessor.cxx:125 AliHLTModulePreprocessor.cxx:126 AliHLTModulePreprocessor.cxx:127 AliHLTModulePreprocessor.cxx:128 AliHLTModulePreprocessor.cxx:129 AliHLTModulePreprocessor.cxx:130 AliHLTModulePreprocessor.cxx:131 AliHLTModulePreprocessor.cxx:132 AliHLTModulePreprocessor.cxx:133 AliHLTModulePreprocessor.cxx:134 AliHLTModulePreprocessor.cxx:135 AliHLTModulePreprocessor.cxx:136 AliHLTModulePreprocessor.cxx:137 AliHLTModulePreprocessor.cxx:138 AliHLTModulePreprocessor.cxx:139 AliHLTModulePreprocessor.cxx:140 AliHLTModulePreprocessor.cxx:141 AliHLTModulePreprocessor.cxx:142 AliHLTModulePreprocessor.cxx:143 AliHLTModulePreprocessor.cxx:144 AliHLTModulePreprocessor.cxx:145 AliHLTModulePreprocessor.cxx:146 AliHLTModulePreprocessor.cxx:147 AliHLTModulePreprocessor.cxx:148 AliHLTModulePreprocessor.cxx:149 AliHLTModulePreprocessor.cxx:150 AliHLTModulePreprocessor.cxx:151 AliHLTModulePreprocessor.cxx:152 AliHLTModulePreprocessor.cxx:153 AliHLTModulePreprocessor.cxx:154 AliHLTModulePreprocessor.cxx:155 AliHLTModulePreprocessor.cxx:156 AliHLTModulePreprocessor.cxx:157 AliHLTModulePreprocessor.cxx:158 AliHLTModulePreprocessor.cxx:159 AliHLTModulePreprocessor.cxx:160 AliHLTModulePreprocessor.cxx:161 AliHLTModulePreprocessor.cxx:162 AliHLTModulePreprocessor.cxx:163 AliHLTModulePreprocessor.cxx:164 AliHLTModulePreprocessor.cxx:165 AliHLTModulePreprocessor.cxx:166 AliHLTModulePreprocessor.cxx:167 AliHLTModulePreprocessor.cxx:168 AliHLTModulePreprocessor.cxx:169 AliHLTModulePreprocessor.cxx:170 AliHLTModulePreprocessor.cxx:171 AliHLTModulePreprocessor.cxx:172 AliHLTModulePreprocessor.cxx:173 AliHLTModulePreprocessor.cxx:174 AliHLTModulePreprocessor.cxx:175 AliHLTModulePreprocessor.cxx:176 AliHLTModulePreprocessor.cxx:177 AliHLTModulePreprocessor.cxx:178 AliHLTModulePreprocessor.cxx:179 AliHLTModulePreprocessor.cxx:180 AliHLTModulePreprocessor.cxx:181 AliHLTModulePreprocessor.cxx:182 AliHLTModulePreprocessor.cxx:183 AliHLTModulePreprocessor.cxx:184 AliHLTModulePreprocessor.cxx:185 AliHLTModulePreprocessor.cxx:186 AliHLTModulePreprocessor.cxx:187 AliHLTModulePreprocessor.cxx:188 AliHLTModulePreprocessor.cxx:189 AliHLTModulePreprocessor.cxx:190 AliHLTModulePreprocessor.cxx:191 AliHLTModulePreprocessor.cxx:192 AliHLTModulePreprocessor.cxx:193 AliHLTModulePreprocessor.cxx:194 AliHLTModulePreprocessor.cxx:195 AliHLTModulePreprocessor.cxx:196 AliHLTModulePreprocessor.cxx:197 AliHLTModulePreprocessor.cxx:198 AliHLTModulePreprocessor.cxx:199 AliHLTModulePreprocessor.cxx:200 AliHLTModulePreprocessor.cxx:201 AliHLTModulePreprocessor.cxx:202 AliHLTModulePreprocessor.cxx:203 AliHLTModulePreprocessor.cxx:204 AliHLTModulePreprocessor.cxx:205 AliHLTModulePreprocessor.cxx:206 AliHLTModulePreprocessor.cxx:207 AliHLTModulePreprocessor.cxx:208 AliHLTModulePreprocessor.cxx:209 AliHLTModulePreprocessor.cxx:210 AliHLTModulePreprocessor.cxx:211 AliHLTModulePreprocessor.cxx:212 AliHLTModulePreprocessor.cxx:213 AliHLTModulePreprocessor.cxx:214 AliHLTModulePreprocessor.cxx:215 AliHLTModulePreprocessor.cxx:216 AliHLTModulePreprocessor.cxx:217 AliHLTModulePreprocessor.cxx:218 AliHLTModulePreprocessor.cxx:219 AliHLTModulePreprocessor.cxx:220 AliHLTModulePreprocessor.cxx:221 AliHLTModulePreprocessor.cxx:222 AliHLTModulePreprocessor.cxx:223 AliHLTModulePreprocessor.cxx:224 AliHLTModulePreprocessor.cxx:225 AliHLTModulePreprocessor.cxx:226 AliHLTModulePreprocessor.cxx:227 AliHLTModulePreprocessor.cxx:228 AliHLTModulePreprocessor.cxx:229 AliHLTModulePreprocessor.cxx:230 AliHLTModulePreprocessor.cxx:231 AliHLTModulePreprocessor.cxx:232 AliHLTModulePreprocessor.cxx:233 AliHLTModulePreprocessor.cxx:234 AliHLTModulePreprocessor.cxx:235 AliHLTModulePreprocessor.cxx:236 AliHLTModulePreprocessor.cxx:237 AliHLTModulePreprocessor.cxx:238 AliHLTModulePreprocessor.cxx:239 AliHLTModulePreprocessor.cxx:240 AliHLTModulePreprocessor.cxx:241 AliHLTModulePreprocessor.cxx:242 AliHLTModulePreprocessor.cxx:243 AliHLTModulePreprocessor.cxx:244 AliHLTModulePreprocessor.cxx:245 AliHLTModulePreprocessor.cxx:246 AliHLTModulePreprocessor.cxx:247 AliHLTModulePreprocessor.cxx:248 AliHLTModulePreprocessor.cxx:249 AliHLTModulePreprocessor.cxx:250 AliHLTModulePreprocessor.cxx:251 AliHLTModulePreprocessor.cxx:252 AliHLTModulePreprocessor.cxx:253 AliHLTModulePreprocessor.cxx:254 AliHLTModulePreprocessor.cxx:255 AliHLTModulePreprocessor.cxx:256 AliHLTModulePreprocessor.cxx:257 AliHLTModulePreprocessor.cxx:258 AliHLTModulePreprocessor.cxx:259 AliHLTModulePreprocessor.cxx:260 AliHLTModulePreprocessor.cxx:261 AliHLTModulePreprocessor.cxx:262 AliHLTModulePreprocessor.cxx:263 AliHLTModulePreprocessor.cxx:264 AliHLTModulePreprocessor.cxx:265 AliHLTModulePreprocessor.cxx:266 AliHLTModulePreprocessor.cxx:267 AliHLTModulePreprocessor.cxx:268 AliHLTModulePreprocessor.cxx:269 AliHLTModulePreprocessor.cxx:270 AliHLTModulePreprocessor.cxx:271 AliHLTModulePreprocessor.cxx:272 AliHLTModulePreprocessor.cxx:273 AliHLTModulePreprocessor.cxx:274 AliHLTModulePreprocessor.cxx:275 AliHLTModulePreprocessor.cxx:276 AliHLTModulePreprocessor.cxx:277 AliHLTModulePreprocessor.cxx:278 AliHLTModulePreprocessor.cxx:279 AliHLTModulePreprocessor.cxx:280 AliHLTModulePreprocessor.cxx:281 AliHLTModulePreprocessor.cxx:282 AliHLTModulePreprocessor.cxx:283 AliHLTModulePreprocessor.cxx:284 AliHLTModulePreprocessor.cxx:285 AliHLTModulePreprocessor.cxx:286 AliHLTModulePreprocessor.cxx:287 AliHLTModulePreprocessor.cxx:288 AliHLTModulePreprocessor.cxx:289 AliHLTModulePreprocessor.cxx:290 AliHLTModulePreprocessor.cxx:291 AliHLTModulePreprocessor.cxx:292 AliHLTModulePreprocessor.cxx:293 AliHLTModulePreprocessor.cxx:294 AliHLTModulePreprocessor.cxx:295 AliHLTModulePreprocessor.cxx:296 AliHLTModulePreprocessor.cxx:297 AliHLTModulePreprocessor.cxx:298