#include "AliHLTReadoutList.h"
#include "AliHLTDAQ.h"
#include "Riostream.h"
#include "TString.h"
#include "TObjString.h"
#include "TObjArray.h"
#include <cassert>
ClassImp(AliHLTReadoutList)
const char* AliHLTReadoutList::DetectorIdToString(EDetectorId id)
{
switch (id)
{
case kNoDetector: return "kNoDetector";
case kITSSPD: return "kITSSPD";
case kITSSDD: return "kITSSDD";
case kITSSSD: return "kITSSSD";
case kTPC: return "kTPC";
case kTRD: return "kTRD";
case kTOF: return "kTOF";
case kHMPID: return "kHMPID";
case kPHOS: return "kPHOS";
case kCPV: return "kCPV";
case kPMD: return "kPMD";
case kMUONTRK: return "kMUONTRK";
case kMUONTRG: return "kMUONTRG";
case kFMD: return "kFMD";
case kT0: return "kT0";
case kV0: return "kV0";
case kZDC: return "kZDC";
case kACORDE: return "kACORDE";
case kTRG: return "kTRG";
case kEMCAL: return "kEMCAL";
case kDAQTEST: return "kDAQTEST";
case kHLT: return "kHLT";
case kALLDET: return "kALLDET";
default: return "UNKNOWN!";
}
}
AliHLTReadoutList::AliHLTReadoutList() :
TNamed("AliHLTReadoutList", "Readout list object used for manipulating and storing an AliHLTEventDDL structure."),
fReadoutList()
{
fReadoutList.fCount = gkAliHLTDDLListSize;
memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
}
AliHLTReadoutList::AliHLTReadoutList(Int_t enabledDetectors) :
TNamed("AliHLTReadoutList", "Readout list object used for manipulating and storing an AliHLTEventDDL structure."),
fReadoutList()
{
fReadoutList.fCount = gkAliHLTDDLListSize;
memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
Enable(enabledDetectors);
}
AliHLTReadoutList::AliHLTReadoutList(const char* enabledList) :
TNamed("AliHLTReadoutList", "Readout list object used for manipulating and storing an AliHLTEventDDL structure."),
fReadoutList()
{
fReadoutList.fCount = gkAliHLTDDLListSize;
memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
TString str(enabledList);
str.ToUpper();
Int_t enabledDetectors = 0;
TObjArray* list = str.Tokenize(" ");
TIter next(list);
const TObjString* objstr = NULL;
while ((objstr = dynamic_cast<const TObjString*>(next())) != NULL)
{
str = objstr->GetString();
if (str.IsDigit()) EnableDDLBit(str.Atoi());
if (str == "ITSSPD") enabledDetectors |= kITSSPD;
if (str == "ITSSDD") enabledDetectors |= kITSSDD;
if (str == "ITSSSD") enabledDetectors |= kITSSSD;
if (str == "TPC") enabledDetectors |= kTPC;
if (str == "TRD") enabledDetectors |= kTRD;
if (str == "TOF") enabledDetectors |= kTOF;
if (str == "HMPID") enabledDetectors |= kHMPID;
if (str == "PHOS") enabledDetectors |= kPHOS;
if (str == "CPV") enabledDetectors |= kCPV;
if (str == "PMD") enabledDetectors |= kPMD;
if (str == "MUONTRK") enabledDetectors |= kMUONTRK;
if (str == "MUONTRG") enabledDetectors |= kMUONTRG;
if (str == "FMD") enabledDetectors |= kFMD;
if (str == "T0") enabledDetectors |= kT0;
if (str == "V0") enabledDetectors |= kV0;
if (str == "ZDC") enabledDetectors |= kZDC;
if (str == "ACORDE") enabledDetectors |= kACORDE;
if (str == "TRG") enabledDetectors |= kTRG;
if (str == "EMCAL") enabledDetectors |= kEMCAL;
if (str == "DAQTEST") enabledDetectors |= kDAQTEST;
if (str == "HLT") enabledDetectors |= kHLT;
if (str == "ALL") enabledDetectors |= kALLDET;
}
delete list;
Enable(enabledDetectors);
}
AliHLTReadoutList::AliHLTReadoutList(const AliHLTEventDDL& list) :
TNamed("AliHLTReadoutList", "Readout list object used for manipulating and storing an AliHLTEventDDL structure."),
fReadoutList()
{
FillStruct(list);
}
AliHLTReadoutList::AliHLTReadoutList(const AliHLTReadoutList& list) :
TNamed(list),
fReadoutList()
{
if (list.fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize)
{
memcpy(&fReadoutList, &list.fReadoutList, sizeof(fReadoutList));
}
else
{
FillStruct(list);
}
}
void AliHLTReadoutList::FillStruct(const AliHLTEventDDL& list)
{
fReadoutList.fCount = gkAliHLTDDLListSize;
memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
if (list.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
memcpy(&fReadoutList.fList[0], &list.fList[0], sizeof(AliHLTUInt32_t)*28);
memcpy(&fReadoutList.fList[29], &list.fList[28], sizeof(AliHLTUInt32_t)*2);
}
else if (list.fCount == (unsigned)gkAliHLTDDLListSizeV1)
{
memcpy(&fReadoutList, &list, sizeof(AliHLTEventDDL));
}
else
{
memcpy(&fReadoutList.fList, &list.fList, (fReadoutList.fCount<list.fCount?fReadoutList.fCount:list.fCount)*sizeof(AliHLTUInt32_t));
}
}
AliHLTReadoutList::~AliHLTReadoutList()
{
}
bool AliHLTReadoutList::Empty() const
{
for (size_t i = 0; i < sizeof(fReadoutList.fList) / sizeof(fReadoutList.fList[0]); i++)
{
if (fReadoutList.fList[i] != 0x0) return false;
}
return true;
}
void AliHLTReadoutList::Clear(Option_t* )
{
memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
fReadoutList.fCount = gkAliHLTDDLListSize;
}
#endif
}
bool AliHLTReadoutList::DecodeDDLID(Int_t ddlId, Int_t& wordIndex, Int_t& bitIndex)
{
Int_t detNum = ddlId >> 8;
Int_t ddlNum = ddlId & 0xFF;
switch (detNum)
{
case 0:
case 1:
case 2:
if (ddlNum >= 32) return false;
wordIndex = detNum;
break;
case 3:
wordIndex = detNum + (ddlNum >> 5);
break;
case 4:
if (ddlNum >= 32) return false;
wordIndex = 11;
break;
case 5:
if (ddlNum >= 3*32) return false;
wordIndex = 12 + (ddlNum >> 5);
break;
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
if (ddlNum >= 32) return false;
wordIndex = detNum + 9;
break;
case 18:
if (ddlNum >= 2*32) return false;
wordIndex = detNum + 7;
wordIndex = 27 + (ddlNum >> 5);
break;
case 19:
if (ddlNum >= 32) return false;
wordIndex = 29;
break;
case 30:
if (ddlNum >= 32) return false;
wordIndex = 30;
break;
default:
return false;
}
if (ddlNum >= AliHLTDAQ::NumberOfDdls(detNum == 30 ? 20 : detNum)) return false;
bitIndex = ddlNum % 32;
return true;
}
Bool_t AliHLTReadoutList::GetDDLBit(Int_t ddlId) const
{
Int_t wordIndex, bitIndex;
if (! DecodeDDLID(ddlId, wordIndex, bitIndex)) return kFALSE;
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
if (wordIndex == 27)
{
if (bitIndex >= 24) return kFALSE;
}
else if (wordIndex == 28)
{
return kFALSE;
}
else if (wordIndex > 28)
{
--wordIndex;
}
}
#endif
return ((fReadoutList.fList[wordIndex] >> bitIndex) & 0x1) == 0x1;
}
void AliHLTReadoutList::SetDDLBit(Int_t ddlId, Bool_t state)
{
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
AliHLTEventDDL copy = fReadoutList;
FillStruct(copy);
}
#endif
assert(fReadoutList.fCount == gkAliHLTDDLListSize);
Int_t wordIndex, bitIndex;
if (! DecodeDDLID(ddlId, wordIndex, bitIndex)) return;
if ( state )
fReadoutList.fList[wordIndex] |= (0x00000001 << bitIndex);
else
fReadoutList.fList[wordIndex] &= (0xFFFFFFFF ^ (0x00000001 << bitIndex));
}
void AliHLTReadoutList::Enable(Int_t detector)
{
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
AliHLTEventDDL copy = fReadoutList;
FillStruct(copy);
}
#endif
assert(fReadoutList.fCount == gkAliHLTDDLListSize);
if ((detector & kITSSPD) != 0) fReadoutList.fList[0] = 0x000FFFFF;
if ((detector & kITSSDD) != 0) fReadoutList.fList[1] = 0x00FFFFFF;
if ((detector & kITSSSD) != 0) fReadoutList.fList[2] = 0x0000FFFF;
if ((detector & kTPC) != 0)
{
fReadoutList.fList[3] = 0xFFFFFFFF;
fReadoutList.fList[4] = 0xFFFFFFFF;
fReadoutList.fList[5] = 0xFFFFFFFF;
fReadoutList.fList[6] = 0xFFFFFFFF;
fReadoutList.fList[7] = 0xFFFFFFFF;
fReadoutList.fList[8] = 0xFFFFFFFF;
fReadoutList.fList[9] = 0x00FFFFFF;
fReadoutList.fList[10] = 0x00000000;
}
if ((detector & kTRD) != 0) fReadoutList.fList[11] = 0x0003FFFF;
if ((detector & kTOF) != 0)
{
fReadoutList.fList[12] = 0xFFFFFFFF;
fReadoutList.fList[13] = 0xFFFFFFFF;
fReadoutList.fList[14] = 0x000000FF;
}
if ((detector & kHMPID) != 0) fReadoutList.fList[15] = 0x000FFFFF;
if ((detector & kPHOS) != 0) fReadoutList.fList[16] = 0x000FFFFF;
if ((detector & kCPV) != 0) fReadoutList.fList[17] = 0x000003FF;
if ((detector & kPMD) != 0) fReadoutList.fList[18] = 0x0000003F;
if ((detector & kMUONTRK) != 0) fReadoutList.fList[19] = 0x000FFFFF;
if ((detector & kMUONTRG) != 0) fReadoutList.fList[20] = 0x00000003;
if ((detector & kFMD) != 0) fReadoutList.fList[21] = 0x00000007;
if ((detector & kT0) != 0) fReadoutList.fList[22] = 0x00000001;
if ((detector & kV0) != 0) fReadoutList.fList[23] = 0x00000001;
if ((detector & kZDC) != 0) fReadoutList.fList[24] = 0x00000001;
if ((detector & kACORDE) != 0) fReadoutList.fList[25] = 0x00000001;
if ((detector & kTRG) != 0) fReadoutList.fList[26] = 0x00000001;
if ((detector & kEMCAL) != 0)
{
fReadoutList.fList[27] = 0xFFFFFFFF;
fReadoutList.fList[28] = 0x00003FFF;
}
if ((detector & kDAQTEST) != 0) fReadoutList.fList[29] = 0x00000001;
if ((detector & kHLT) != 0) fReadoutList.fList[30] = 0x0FFFFFFF;
}
void AliHLTReadoutList::Disable(Int_t detector)
{
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
AliHLTEventDDL copy = fReadoutList;
FillStruct(copy);
}
#endif
assert(fReadoutList.fCount == gkAliHLTDDLListSize);
if ((detector & kITSSPD) != 0) fReadoutList.fList[0] = 0x00000000;
if ((detector & kITSSDD) != 0) fReadoutList.fList[1] = 0x00000000;
if ((detector & kITSSSD) != 0) fReadoutList.fList[2] = 0x00000000;
if ((detector & kTPC) != 0)
{
fReadoutList.fList[3] = 0x00000000;
fReadoutList.fList[4] = 0x00000000;
fReadoutList.fList[5] = 0x00000000;
fReadoutList.fList[6] = 0x00000000;
fReadoutList.fList[7] = 0x00000000;
fReadoutList.fList[8] = 0x00000000;
fReadoutList.fList[9] = 0x00000000;
fReadoutList.fList[10] = 0x00000000;
}
if ((detector & kTRD) != 0) fReadoutList.fList[11] = 0x00000000;
if ((detector & kTOF) != 0)
{
fReadoutList.fList[12] = 0x00000000;
fReadoutList.fList[13] = 0x00000000;
fReadoutList.fList[14] = 0x00000000;
}
if ((detector & kHMPID) != 0) fReadoutList.fList[15] = 0x00000000;
if ((detector & kPHOS) != 0) fReadoutList.fList[16] = 0x00000000;
if ((detector & kCPV) != 0) fReadoutList.fList[17] = 0x00000000;
if ((detector & kPMD) != 0) fReadoutList.fList[18] = 0x00000000;
if ((detector & kMUONTRK) != 0) fReadoutList.fList[19] = 0x00000000;
if ((detector & kMUONTRG) != 0) fReadoutList.fList[20] = 0x00000000;
if ((detector & kFMD) != 0) fReadoutList.fList[21] = 0x00000000;
if ((detector & kT0) != 0) fReadoutList.fList[22] = 0x00000000;
if ((detector & kV0) != 0) fReadoutList.fList[23] = 0x00000000;
if ((detector & kZDC) != 0) fReadoutList.fList[24] = 0x00000000;
if ((detector & kACORDE) != 0) fReadoutList.fList[25] = 0x00000000;
if ((detector & kTRG) != 0) fReadoutList.fList[26] = 0x00000000;
if ((detector & kEMCAL) != 0)
{
fReadoutList.fList[27] = 0x00000000;
fReadoutList.fList[28] = 0x00000000;
}
if ((detector & kDAQTEST) != 0) fReadoutList.fList[29] = 0x00000000;
if ((detector & kHLT) != 0) fReadoutList.fList[30] = 0x00000000;
}
bool AliHLTReadoutList::DetectorEnabled(Int_t detector) const
{
bool result = true;
if ((detector & kITSSPD) != 0) result &= fReadoutList.fList[0] == 0x000FFFFF;
if ((detector & kITSSDD) != 0) result &= fReadoutList.fList[1] == 0x00FFFFFF;
if ((detector & kITSSSD) != 0) result &= fReadoutList.fList[2] == 0x0000FFFF;
if ((detector & kTPC) != 0)
{
result &= fReadoutList.fList[3] == 0xFFFFFFFF;
result &= fReadoutList.fList[4] == 0xFFFFFFFF;
result &= fReadoutList.fList[5] == 0xFFFFFFFF;
result &= fReadoutList.fList[6] == 0xFFFFFFFF;
result &= fReadoutList.fList[7] == 0xFFFFFFFF;
result &= fReadoutList.fList[8] == 0xFFFFFFFF;
result &= fReadoutList.fList[9] == 0x00FFFFFF;
}
if ((detector & kTRD) != 0) result &= fReadoutList.fList[11] == 0x0003FFFF;
if ((detector & kTOF) != 0)
{
result &= fReadoutList.fList[12] == 0xFFFFFFFF;
result &= fReadoutList.fList[13] == 0xFFFFFFFF;
result &= fReadoutList.fList[14] == 0x000000FF;
}
if ((detector & kHMPID) != 0) result &= fReadoutList.fList[15] == 0x000FFFFF;
if ((detector & kPHOS) != 0) result &= fReadoutList.fList[16] == 0x000FFFFF;
if ((detector & kCPV) != 0) result &= fReadoutList.fList[17] == 0x000003FF;
if ((detector & kPMD) != 0) result &= fReadoutList.fList[18] == 0x0000003F;
if ((detector & kMUONTRK) != 0) result &= fReadoutList.fList[19] == 0x000FFFFF;
if ((detector & kMUONTRG) != 0) result &= fReadoutList.fList[20] == 0x00000003;
if ((detector & kFMD) != 0) result &= fReadoutList.fList[21] == 0x00000007;
if ((detector & kT0) != 0) result &= fReadoutList.fList[22] == 0x00000001;
if ((detector & kV0) != 0) result &= fReadoutList.fList[23] == 0x00000001;
if ((detector & kZDC) != 0) result &= fReadoutList.fList[24] == 0x00000001;
if ((detector & kACORDE) != 0) result &= fReadoutList.fList[25] == 0x00000001;
if ((detector & kTRG) != 0) result &= fReadoutList.fList[26] == 0x00000001;
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
if ((detector & kEMCAL) != 0) result &= fReadoutList.fList[27] == 0x00FFFFFF;
if ((detector & kDAQTEST) != 0) result &= fReadoutList.fList[28] == 0x00000001;
if ((detector & kHLT) != 0) result &= fReadoutList.fList[29] == 0x000003FF;
}
else
#endif
{
if ((detector & kEMCAL) != 0)
{
result &= fReadoutList.fList[27] == 0xFFFFFFFF;
result &= fReadoutList.fList[28] == 0x00003FFF;
}
if ((detector & kDAQTEST) != 0) result &= fReadoutList.fList[29] == 0x00000001;
if ((detector & kHLT) != 0) result &= fReadoutList.fList[30] == 0x0FFFFFFF;
}
return result;
}
bool AliHLTReadoutList::DetectorDisabled(Int_t detector) const
{
bool result = true;
if ((detector & kITSSPD) != 0) result &= fReadoutList.fList[0] == 0x00000000;
if ((detector & kITSSDD) != 0) result &= fReadoutList.fList[1] == 0x00000000;
if ((detector & kITSSSD) != 0) result &= fReadoutList.fList[2] == 0x00000000;
if ((detector & kTPC) != 0)
{
result &= fReadoutList.fList[3] == 0x00000000;
result &= fReadoutList.fList[4] == 0x00000000;
result &= fReadoutList.fList[5] == 0x00000000;
result &= fReadoutList.fList[6] == 0x00000000;
result &= fReadoutList.fList[7] == 0x00000000;
result &= fReadoutList.fList[8] == 0x00000000;
result &= fReadoutList.fList[9] == 0x00000000;
}
if ((detector & kTRD) != 0) result &= fReadoutList.fList[11] == 0x00000000;
if ((detector & kTOF) != 0)
{
result &= fReadoutList.fList[12] == 0x00000000;
result &= fReadoutList.fList[13] == 0x00000000;
result &= fReadoutList.fList[14] == 0x00000000;
}
if ((detector & kHMPID) != 0) result &= fReadoutList.fList[15] == 0x00000000;
if ((detector & kPHOS) != 0) result &= fReadoutList.fList[16] == 0x00000000;
if ((detector & kCPV) != 0) result &= fReadoutList.fList[17] == 0x00000000;
if ((detector & kPMD) != 0) result &= fReadoutList.fList[18] == 0x00000000;
if ((detector & kMUONTRK) != 0) result &= fReadoutList.fList[19] == 0x00000000;
if ((detector & kMUONTRG) != 0) result &= fReadoutList.fList[20] == 0x00000000;
if ((detector & kFMD) != 0) result &= fReadoutList.fList[21] == 0x00000000;
if ((detector & kT0) != 0) result &= fReadoutList.fList[22] == 0x00000000;
if ((detector & kV0) != 0) result &= fReadoutList.fList[23] == 0x00000000;
if ((detector & kZDC) != 0) result &= fReadoutList.fList[24] == 0x00000000;
if ((detector & kACORDE) != 0) result &= fReadoutList.fList[25] == 0x00000000;
if ((detector & kTRG) != 0) result &= fReadoutList.fList[26] == 0x00000000;
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
if ((detector & kEMCAL) != 0) result &= fReadoutList.fList[27] == 0x00000000;
if ((detector & kDAQTEST) != 0) result &= fReadoutList.fList[28] == 0x00000000;
if ((detector & kHLT) != 0) result &= fReadoutList.fList[29] == 0x00000000;
}
else
#endif
{
if ((detector & kEMCAL) != 0)
{
result &= fReadoutList.fList[27] == 0x00000000;
result &= fReadoutList.fList[28] == 0x00000000;
}
if ((detector & kDAQTEST) != 0) result &= fReadoutList.fList[29] == 0x00000000;
if ((detector & kHLT) != 0) result &= fReadoutList.fList[30] == 0x00000000;
}
return result;
}
Int_t AliHLTReadoutList::GetFirstWord(EDetectorId detector)
{
switch (detector)
{
case kITSSPD: return 0;
case kITSSDD: return 1;
case kITSSSD: return 2;
case kTPC: return 3;
case kTRD: return 11;
case kTOF: return 12;
case kHMPID: return 15;
case kPHOS: return 16;
case kCPV: return 17;
case kPMD: return 18;
case kMUONTRK: return 19;
case kMUONTRG: return 20;
case kFMD: return 21;
case kT0: return 22;
case kV0: return 23;
case kZDC: return 24;
case kACORDE: return 25;
case kTRG: return 26;
case kEMCAL: return 27;
case kDAQTEST: return 29;
case kHLT: return 30;
default: return -1;
}
}
Int_t AliHLTReadoutList::GetWordCount(EDetectorId detector)
{
switch (detector)
{
case kITSSPD: return 1;
case kITSSDD: return 1;
case kITSSSD: return 1;
case kTPC: return 8;
case kTRD: return 1;
case kTOF: return 3;
case kHMPID: return 1;
case kPHOS: return 1;
case kCPV: return 1;
case kPMD: return 1;
case kMUONTRK: return 1;
case kMUONTRG: return 1;
case kFMD: return 1;
case kT0: return 1;
case kV0: return 1;
case kZDC: return 1;
case kACORDE: return 1;
case kTRG: return 1;
case kEMCAL: return 2;
case kDAQTEST: return 1;
case kHLT: return 1;
default: return 0;
}
}
AliHLTReadoutList::EDetectorId AliHLTReadoutList::GetDetectorFromWord(Int_t wordindex)
{
switch (wordindex)
{
case 0: return kITSSPD;
case 1: return kITSSDD;
case 2: return kITSSSD;
case 3: return kTPC;
case 4: return kTPC;
case 5: return kTPC;
case 6: return kTPC;
case 7: return kTPC;
case 8: return kTPC;
case 9: return kTPC;
case 10: return kTPC;
case 11: return kTRD;
case 12: return kTOF;
case 13: return kTOF;
case 14: return kTOF;
case 15: return kHMPID;
case 16: return kPHOS;
case 17: return kCPV;
case 18: return kPMD;
case 19: return kMUONTRK;
case 20: return kMUONTRG;
case 21: return kFMD;
case 22: return kT0;
case 23: return kV0;
case 24: return kZDC;
case 25: return kACORDE;
case 26: return kTRG;
case 27: return kEMCAL;
case 28: return kEMCAL;
case 29: return kDAQTEST;
case 30: return kHLT;
default: return kNoDetector;
}
}
AliHLTReadoutList::EDetectorId AliHLTReadoutList::GetFirstUsedDetector(EDetectorId startAfter) const
{
if (startAfter < kITSSPD and fReadoutList.fList[0] != 0x00000000) return kITSSPD;
if (startAfter < kITSSDD and fReadoutList.fList[1] != 0x00000000) return kITSSDD;
if (startAfter < kITSSSD and fReadoutList.fList[2] != 0x00000000) return kITSSSD;
if (startAfter < kTPC and fReadoutList.fList[3] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[4] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[5] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[6] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[7] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[8] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[9] != 0x00000000) return kTPC;
if (startAfter < kTPC and fReadoutList.fList[10] != 0x00000000) return kTPC;
if (startAfter < kTRD and fReadoutList.fList[11] != 0x00000000) return kTRD;
if (startAfter < kTOF and fReadoutList.fList[12] != 0x00000000) return kTOF;
if (startAfter < kTOF and fReadoutList.fList[13] != 0x00000000) return kTOF;
if (startAfter < kTOF and fReadoutList.fList[14] != 0x00000000) return kTOF;
if (startAfter < kHMPID and fReadoutList.fList[15] != 0x00000000) return kHMPID;
if (startAfter < kPHOS and fReadoutList.fList[16] != 0x00000000) return kPHOS;
if (startAfter < kCPV and fReadoutList.fList[17] != 0x00000000) return kCPV;
if (startAfter < kPMD and fReadoutList.fList[18] != 0x00000000) return kPMD;
if (startAfter < kMUONTRK and fReadoutList.fList[19] != 0x00000000) return kMUONTRK;
if (startAfter < kMUONTRG and fReadoutList.fList[20] != 0x00000000) return kMUONTRG;
if (startAfter < kFMD and fReadoutList.fList[21] != 0x00000000) return kFMD;
if (startAfter < kT0 and fReadoutList.fList[22] != 0x00000000) return kT0;
if (startAfter < kV0 and fReadoutList.fList[23] != 0x00000000) return kV0;
if (startAfter < kZDC and fReadoutList.fList[24] != 0x00000000) return kZDC;
if (startAfter < kACORDE and fReadoutList.fList[25] != 0x00000000) return kACORDE;
if (startAfter < kTRG and fReadoutList.fList[26] != 0x00000000) return kTRG;
if (startAfter < kEMCAL and fReadoutList.fList[27] != 0x00000000) return kEMCAL;
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
if (startAfter < kDAQTEST and fReadoutList.fList[28] != 0x00000000) return kDAQTEST;
if (startAfter < kHLT and fReadoutList.fList[29] != 0x00000000) return kHLT;
}
else
#endif
{
if (startAfter < kEMCAL and fReadoutList.fList[28] != 0x00000000) return kEMCAL;
if (startAfter < kDAQTEST and fReadoutList.fList[29] != 0x00000000) return kDAQTEST;
if (startAfter < kHLT and fReadoutList.fList[30] != 0x00000000) return kHLT;
}
return kNoDetector;
}
void AliHLTReadoutList::Print(Option_t* ) const
{
cout << "Readout enabled for DDLs:" << endl;
for (Int_t i = 0; i < AliHLTDAQ::NumberOfDetectors(); i++)
{
Int_t maxddls = AliHLTDAQ::NumberOfDdls(i);
cout << AliHLTDAQ::DetectorName(i) << ":";
bool nonefound = true;
for (Int_t j = 0; j < maxddls; j++)
{
Int_t ddlId = ( ((i == AliHLTDAQ::NumberOfDetectors()-1) ? 30 : i) << 8 ) + j;
if (GetDDLBit(ddlId))
{
cout << " " << ddlId;
nonefound = false;
}
}
if (nonefound) cout << " none";
cout << endl;
}
}
AliHLTReadoutList& AliHLTReadoutList::operator = (const AliHLTReadoutList& list)
{
TObject::operator = (list);
if (&list != this)
{
if (list.fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize)
{
memcpy(&fReadoutList, &list.fReadoutList, sizeof(fReadoutList));
}
else
{
FillStruct(list);
}
}
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::operator |= (const AliHLTReadoutList& list)
{
this->OrEq(list);
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::OrEq(const AliHLTReadoutList& list)
{
assert( fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize );
assert( fReadoutList.fCount == list.fReadoutList.fCount );
for (Int_t i = 0; i < gkAliHLTDDLListSize; i++)
{
fReadoutList.fList[i] |= list.fReadoutList.fList[i];
}
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::operator ^= (const AliHLTReadoutList& list)
{
this->XorEq(list);
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::XorEq(const AliHLTReadoutList& list)
{
assert( fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize );
assert( fReadoutList.fCount == list.fReadoutList.fCount );
for (Int_t i = 0; i < gkAliHLTDDLListSize; i++)
{
fReadoutList.fList[i] ^= list.fReadoutList.fList[i];
}
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::operator &= (const AliHLTReadoutList& list)
{
this->AndEq(list);
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::AndEq(const AliHLTReadoutList& list)
{
assert( fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize );
assert( fReadoutList.fCount == list.fReadoutList.fCount );
for (Int_t i = 0; i < gkAliHLTDDLListSize; i++)
{
fReadoutList.fList[i] &= list.fReadoutList.fList[i];
}
return *this;
}
AliHLTReadoutList& AliHLTReadoutList::operator -= (const AliHLTReadoutList& list)
{
assert( fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize );
assert( fReadoutList.fCount == list.fReadoutList.fCount );
for (Int_t i = 0; i < gkAliHLTDDLListSize; i++)
{
fReadoutList.fList[i] &= fReadoutList.fList[i] ^ list.fReadoutList.fList[i];
}
return *this;
}
AliHLTReadoutList AliHLTReadoutList::operator ~ () const
{
AliHLTReadoutList readoutlist;
readoutlist.fReadoutList.fCount = gkAliHLTDDLListSize;
readoutlist.fReadoutList.fList[0] = 0x000FFFFF & (~fReadoutList.fList[0]);
readoutlist.fReadoutList.fList[1] = 0x00FFFFFF & (~fReadoutList.fList[1]);
readoutlist.fReadoutList.fList[2] = 0x0000FFFF & (~fReadoutList.fList[2]);
readoutlist.fReadoutList.fList[3] = 0xFFFFFFFF & (~fReadoutList.fList[3]);
readoutlist.fReadoutList.fList[4] = 0xFFFFFFFF & (~fReadoutList.fList[4]);
readoutlist.fReadoutList.fList[5] = 0xFFFFFFFF & (~fReadoutList.fList[5]);
readoutlist.fReadoutList.fList[6] = 0xFFFFFFFF & (~fReadoutList.fList[6]);
readoutlist.fReadoutList.fList[7] = 0xFFFFFFFF & (~fReadoutList.fList[7]);
readoutlist.fReadoutList.fList[8] = 0xFFFFFFFF & (~fReadoutList.fList[8]);
readoutlist.fReadoutList.fList[9] = 0x00FFFFFF & (~fReadoutList.fList[9]);
readoutlist.fReadoutList.fList[10] = 0x00000000;
readoutlist.fReadoutList.fList[11] = 0x0003FFFF & (~fReadoutList.fList[11]);
readoutlist.fReadoutList.fList[12] = 0xFFFFFFFF & (~fReadoutList.fList[12]);
readoutlist.fReadoutList.fList[13] = 0xFFFFFFFF & (~fReadoutList.fList[13]);
readoutlist.fReadoutList.fList[14] = 0x000000FF & (~fReadoutList.fList[14]);
readoutlist.fReadoutList.fList[15] = 0x000FFFFF & (~fReadoutList.fList[15]);
readoutlist.fReadoutList.fList[16] = 0x000FFFFF & (~fReadoutList.fList[16]);
readoutlist.fReadoutList.fList[17] = 0x000003FF & (~fReadoutList.fList[17]);
readoutlist.fReadoutList.fList[18] = 0x0000003F & (~fReadoutList.fList[18]);
readoutlist.fReadoutList.fList[19] = 0x000FFFFF & (~fReadoutList.fList[19]);
readoutlist.fReadoutList.fList[20] = 0x00000003 & (~fReadoutList.fList[20]);
readoutlist.fReadoutList.fList[21] = 0x00000007 & (~fReadoutList.fList[21]);
readoutlist.fReadoutList.fList[22] = 0x00000001 & (~fReadoutList.fList[22]);
readoutlist.fReadoutList.fList[23] = 0x00000001 & (~fReadoutList.fList[23]);
readoutlist.fReadoutList.fList[24] = 0x00000001 & (~fReadoutList.fList[24]);
readoutlist.fReadoutList.fList[25] = 0x00000001 & (~fReadoutList.fList[25]);
readoutlist.fReadoutList.fList[26] = 0x00000001 & (~fReadoutList.fList[26]);
#if 1 // ROOT_SVN_REVISION < 9999 //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
readoutlist.fReadoutList.fList[27] = 0x00FFFFFF & (~fReadoutList.fList[27]);
readoutlist.fReadoutList.fList[28] = 0x00000000;
readoutlist.fReadoutList.fList[29] = 0x00000001 & (~fReadoutList.fList[28]);
readoutlist.fReadoutList.fList[30] = 0x000003FF & (~fReadoutList.fList[29]);
}
else
#endif
{
readoutlist.fReadoutList.fList[27] = 0xFFFFFFFF & (~fReadoutList.fList[27]);
readoutlist.fReadoutList.fList[28] = 0x00003FFF & (~fReadoutList.fList[28]);
readoutlist.fReadoutList.fList[29] = 0x00000001 & (~fReadoutList.fList[29]);
readoutlist.fReadoutList.fList[30] = 0x0FFFFFFF & (~fReadoutList.fList[30]);
}
return readoutlist;
}
#if ROOT_VERSION_CODE < ROOT_VERSION(5,26,0)
void AliHLTReadoutList::Streamer(TBuffer &R__b)
{
if (R__b.IsReading()) {
R__b.ReadClassBuffer(AliHLTReadoutList::Class(),this);
if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
{
fReadoutList.fList[30] = fReadoutList.fList[29];
fReadoutList.fList[29] = fReadoutList.fList[28];
fReadoutList.fList[28] = 0x0;
fReadoutList.fCount = gkAliHLTDDLListSizeV1;
}
} else {
R__b.WriteClassBuffer(AliHLTReadoutList::Class(),this);
}
}
#endif // ROOT version check.
AliHLTReadoutList.cxx:100 AliHLTReadoutList.cxx:101 AliHLTReadoutList.cxx:102 AliHLTReadoutList.cxx:103 AliHLTReadoutList.cxx:104 AliHLTReadoutList.cxx:105 AliHLTReadoutList.cxx:106 AliHLTReadoutList.cxx:107 AliHLTReadoutList.cxx:108 AliHLTReadoutList.cxx:109 AliHLTReadoutList.cxx:110 AliHLTReadoutList.cxx:111 AliHLTReadoutList.cxx:112 AliHLTReadoutList.cxx:113 AliHLTReadoutList.cxx:114 AliHLTReadoutList.cxx:115 AliHLTReadoutList.cxx:116 AliHLTReadoutList.cxx:117 AliHLTReadoutList.cxx:118 AliHLTReadoutList.cxx:119 AliHLTReadoutList.cxx:120 AliHLTReadoutList.cxx:121 AliHLTReadoutList.cxx:122 AliHLTReadoutList.cxx:123 AliHLTReadoutList.cxx:124 AliHLTReadoutList.cxx:125 AliHLTReadoutList.cxx:126 AliHLTReadoutList.cxx:127 AliHLTReadoutList.cxx:128 AliHLTReadoutList.cxx:129 AliHLTReadoutList.cxx:130 AliHLTReadoutList.cxx:131 AliHLTReadoutList.cxx:132 AliHLTReadoutList.cxx:133 AliHLTReadoutList.cxx:134 AliHLTReadoutList.cxx:135 AliHLTReadoutList.cxx:136 AliHLTReadoutList.cxx:137 AliHLTReadoutList.cxx:138 AliHLTReadoutList.cxx:139 AliHLTReadoutList.cxx:140 AliHLTReadoutList.cxx:141 AliHLTReadoutList.cxx:142 AliHLTReadoutList.cxx:143 AliHLTReadoutList.cxx:144 AliHLTReadoutList.cxx:145 AliHLTReadoutList.cxx:146 AliHLTReadoutList.cxx:147 AliHLTReadoutList.cxx:148 AliHLTReadoutList.cxx:149 AliHLTReadoutList.cxx:150 AliHLTReadoutList.cxx:151 AliHLTReadoutList.cxx:152 AliHLTReadoutList.cxx:153 AliHLTReadoutList.cxx:154 AliHLTReadoutList.cxx:155 AliHLTReadoutList.cxx:156 AliHLTReadoutList.cxx:157 AliHLTReadoutList.cxx:158 AliHLTReadoutList.cxx:159 AliHLTReadoutList.cxx:160 AliHLTReadoutList.cxx:161 AliHLTReadoutList.cxx:162 AliHLTReadoutList.cxx:163 AliHLTReadoutList.cxx:164 AliHLTReadoutList.cxx:165 AliHLTReadoutList.cxx:166 AliHLTReadoutList.cxx:167 AliHLTReadoutList.cxx:168 AliHLTReadoutList.cxx:169 AliHLTReadoutList.cxx:170 AliHLTReadoutList.cxx:171 AliHLTReadoutList.cxx:172 AliHLTReadoutList.cxx:173 AliHLTReadoutList.cxx:174 AliHLTReadoutList.cxx:175 AliHLTReadoutList.cxx:176 AliHLTReadoutList.cxx:177 AliHLTReadoutList.cxx:178 AliHLTReadoutList.cxx:179 AliHLTReadoutList.cxx:180 AliHLTReadoutList.cxx:181 AliHLTReadoutList.cxx:182 AliHLTReadoutList.cxx:183 AliHLTReadoutList.cxx:184 AliHLTReadoutList.cxx:185 AliHLTReadoutList.cxx:186 AliHLTReadoutList.cxx:187 AliHLTReadoutList.cxx:188 AliHLTReadoutList.cxx:189 AliHLTReadoutList.cxx:190 AliHLTReadoutList.cxx:191 AliHLTReadoutList.cxx:192 AliHLTReadoutList.cxx:193 AliHLTReadoutList.cxx:194 AliHLTReadoutList.cxx:195 AliHLTReadoutList.cxx:196 AliHLTReadoutList.cxx:197 AliHLTReadoutList.cxx:198 AliHLTReadoutList.cxx:199 AliHLTReadoutList.cxx:200 AliHLTReadoutList.cxx:201 AliHLTReadoutList.cxx:202 AliHLTReadoutList.cxx:203 AliHLTReadoutList.cxx:204 AliHLTReadoutList.cxx:205 AliHLTReadoutList.cxx:206 AliHLTReadoutList.cxx:207 AliHLTReadoutList.cxx:208 AliHLTReadoutList.cxx:209 AliHLTReadoutList.cxx:210 AliHLTReadoutList.cxx:211 AliHLTReadoutList.cxx:212 AliHLTReadoutList.cxx:213 AliHLTReadoutList.cxx:214 AliHLTReadoutList.cxx:215 AliHLTReadoutList.cxx:216 AliHLTReadoutList.cxx:217 AliHLTReadoutList.cxx:218 AliHLTReadoutList.cxx:219 AliHLTReadoutList.cxx:220 AliHLTReadoutList.cxx:221 AliHLTReadoutList.cxx:222 AliHLTReadoutList.cxx:223 AliHLTReadoutList.cxx:224 AliHLTReadoutList.cxx:225 AliHLTReadoutList.cxx:226 AliHLTReadoutList.cxx:227 AliHLTReadoutList.cxx:228 AliHLTReadoutList.cxx:229 AliHLTReadoutList.cxx:230 AliHLTReadoutList.cxx:231 AliHLTReadoutList.cxx:232 AliHLTReadoutList.cxx:233 AliHLTReadoutList.cxx:234 AliHLTReadoutList.cxx:235 AliHLTReadoutList.cxx:236 AliHLTReadoutList.cxx:237 AliHLTReadoutList.cxx:238 AliHLTReadoutList.cxx:239 AliHLTReadoutList.cxx:240 AliHLTReadoutList.cxx:241 AliHLTReadoutList.cxx:242 AliHLTReadoutList.cxx:243 AliHLTReadoutList.cxx:244 AliHLTReadoutList.cxx:245 AliHLTReadoutList.cxx:246 AliHLTReadoutList.cxx:247 AliHLTReadoutList.cxx:248 AliHLTReadoutList.cxx:249 AliHLTReadoutList.cxx:250 AliHLTReadoutList.cxx:251 AliHLTReadoutList.cxx:252 AliHLTReadoutList.cxx:253 AliHLTReadoutList.cxx:254 AliHLTReadoutList.cxx:255 AliHLTReadoutList.cxx:256 AliHLTReadoutList.cxx:257 AliHLTReadoutList.cxx:258 AliHLTReadoutList.cxx:259 AliHLTReadoutList.cxx:260 AliHLTReadoutList.cxx:261 AliHLTReadoutList.cxx:262 AliHLTReadoutList.cxx:263 AliHLTReadoutList.cxx:264 AliHLTReadoutList.cxx:265 AliHLTReadoutList.cxx:266 AliHLTReadoutList.cxx:267 AliHLTReadoutList.cxx:268 AliHLTReadoutList.cxx:269 AliHLTReadoutList.cxx:270 AliHLTReadoutList.cxx:271 AliHLTReadoutList.cxx:272 AliHLTReadoutList.cxx:273 AliHLTReadoutList.cxx:274 AliHLTReadoutList.cxx:275 AliHLTReadoutList.cxx:276 AliHLTReadoutList.cxx:277 AliHLTReadoutList.cxx:278 AliHLTReadoutList.cxx:279 AliHLTReadoutList.cxx:280 AliHLTReadoutList.cxx:281 AliHLTReadoutList.cxx:282 AliHLTReadoutList.cxx:283 AliHLTReadoutList.cxx:284 AliHLTReadoutList.cxx:285 AliHLTReadoutList.cxx:286 AliHLTReadoutList.cxx:287 AliHLTReadoutList.cxx:288 AliHLTReadoutList.cxx:289 AliHLTReadoutList.cxx:290 AliHLTReadoutList.cxx:291 AliHLTReadoutList.cxx:292 AliHLTReadoutList.cxx:293 AliHLTReadoutList.cxx:294 AliHLTReadoutList.cxx:295 AliHLTReadoutList.cxx:296 AliHLTReadoutList.cxx:297 AliHLTReadoutList.cxx:298 AliHLTReadoutList.cxx:299 AliHLTReadoutList.cxx:300 AliHLTReadoutList.cxx:301 AliHLTReadoutList.cxx:302 AliHLTReadoutList.cxx:303 AliHLTReadoutList.cxx:304 AliHLTReadoutList.cxx:305 AliHLTReadoutList.cxx:306 AliHLTReadoutList.cxx:307 AliHLTReadoutList.cxx:308 AliHLTReadoutList.cxx:309 AliHLTReadoutList.cxx:310 AliHLTReadoutList.cxx:311 AliHLTReadoutList.cxx:312 AliHLTReadoutList.cxx:313 AliHLTReadoutList.cxx:314 AliHLTReadoutList.cxx:315 AliHLTReadoutList.cxx:316 AliHLTReadoutList.cxx:317 AliHLTReadoutList.cxx:318 AliHLTReadoutList.cxx:319 AliHLTReadoutList.cxx:320 AliHLTReadoutList.cxx:321 AliHLTReadoutList.cxx:322 AliHLTReadoutList.cxx:323 AliHLTReadoutList.cxx:324 AliHLTReadoutList.cxx:325 AliHLTReadoutList.cxx:326 AliHLTReadoutList.cxx:327 AliHLTReadoutList.cxx:328 AliHLTReadoutList.cxx:329 AliHLTReadoutList.cxx:330 AliHLTReadoutList.cxx:331 AliHLTReadoutList.cxx:332 AliHLTReadoutList.cxx:333 AliHLTReadoutList.cxx:334 AliHLTReadoutList.cxx:335 AliHLTReadoutList.cxx:336 AliHLTReadoutList.cxx:337 AliHLTReadoutList.cxx:338 AliHLTReadoutList.cxx:339 AliHLTReadoutList.cxx:340 AliHLTReadoutList.cxx:341 AliHLTReadoutList.cxx:342 AliHLTReadoutList.cxx:343 AliHLTReadoutList.cxx:344 AliHLTReadoutList.cxx:345 AliHLTReadoutList.cxx:346 AliHLTReadoutList.cxx:347 AliHLTReadoutList.cxx:348 AliHLTReadoutList.cxx:349 AliHLTReadoutList.cxx:350 AliHLTReadoutList.cxx:351 AliHLTReadoutList.cxx:352 AliHLTReadoutList.cxx:353 AliHLTReadoutList.cxx:354 AliHLTReadoutList.cxx:355 AliHLTReadoutList.cxx:356 AliHLTReadoutList.cxx:357 AliHLTReadoutList.cxx:358 AliHLTReadoutList.cxx:359 AliHLTReadoutList.cxx:360 AliHLTReadoutList.cxx:361 AliHLTReadoutList.cxx:362 AliHLTReadoutList.cxx:363 AliHLTReadoutList.cxx:364 AliHLTReadoutList.cxx:365 AliHLTReadoutList.cxx:366 AliHLTReadoutList.cxx:367 AliHLTReadoutList.cxx:368 AliHLTReadoutList.cxx:369 AliHLTReadoutList.cxx:370 AliHLTReadoutList.cxx:371 AliHLTReadoutList.cxx:372 AliHLTReadoutList.cxx:373 AliHLTReadoutList.cxx:374 AliHLTReadoutList.cxx:375 AliHLTReadoutList.cxx:376 AliHLTReadoutList.cxx:377 AliHLTReadoutList.cxx:378 AliHLTReadoutList.cxx:379 AliHLTReadoutList.cxx:380 AliHLTReadoutList.cxx:381 AliHLTReadoutList.cxx:382 AliHLTReadoutList.cxx:383 AliHLTReadoutList.cxx:384 AliHLTReadoutList.cxx:385 AliHLTReadoutList.cxx:386 AliHLTReadoutList.cxx:387 AliHLTReadoutList.cxx:388 AliHLTReadoutList.cxx:389 AliHLTReadoutList.cxx:390 AliHLTReadoutList.cxx:391 AliHLTReadoutList.cxx:392 AliHLTReadoutList.cxx:393 AliHLTReadoutList.cxx:394 AliHLTReadoutList.cxx:395 AliHLTReadoutList.cxx:396 AliHLTReadoutList.cxx:397 AliHLTReadoutList.cxx:398 AliHLTReadoutList.cxx:399 AliHLTReadoutList.cxx:400 AliHLTReadoutList.cxx:401 AliHLTReadoutList.cxx:402 AliHLTReadoutList.cxx:403 AliHLTReadoutList.cxx:404 AliHLTReadoutList.cxx:405 AliHLTReadoutList.cxx:406 AliHLTReadoutList.cxx:407 AliHLTReadoutList.cxx:408 AliHLTReadoutList.cxx:409 AliHLTReadoutList.cxx:410 AliHLTReadoutList.cxx:411 AliHLTReadoutList.cxx:412 AliHLTReadoutList.cxx:413 AliHLTReadoutList.cxx:414 AliHLTReadoutList.cxx:415 AliHLTReadoutList.cxx:416 AliHLTReadoutList.cxx:417 AliHLTReadoutList.cxx:418 AliHLTReadoutList.cxx:419 AliHLTReadoutList.cxx:420 AliHLTReadoutList.cxx:421 AliHLTReadoutList.cxx:422 AliHLTReadoutList.cxx:423 AliHLTReadoutList.cxx:424 AliHLTReadoutList.cxx:425 AliHLTReadoutList.cxx:426 AliHLTReadoutList.cxx:427 AliHLTReadoutList.cxx:428 AliHLTReadoutList.cxx:429 AliHLTReadoutList.cxx:430 AliHLTReadoutList.cxx:431 AliHLTReadoutList.cxx:432 AliHLTReadoutList.cxx:433 AliHLTReadoutList.cxx:434 AliHLTReadoutList.cxx:435 AliHLTReadoutList.cxx:436 AliHLTReadoutList.cxx:437 AliHLTReadoutList.cxx:438 AliHLTReadoutList.cxx:439 AliHLTReadoutList.cxx:440 AliHLTReadoutList.cxx:441 AliHLTReadoutList.cxx:442 AliHLTReadoutList.cxx:443 AliHLTReadoutList.cxx:444 AliHLTReadoutList.cxx:445 AliHLTReadoutList.cxx:446 AliHLTReadoutList.cxx:447 AliHLTReadoutList.cxx:448 AliHLTReadoutList.cxx:449 AliHLTReadoutList.cxx:450 AliHLTReadoutList.cxx:451 AliHLTReadoutList.cxx:452 AliHLTReadoutList.cxx:453 AliHLTReadoutList.cxx:454 AliHLTReadoutList.cxx:455 AliHLTReadoutList.cxx:456 AliHLTReadoutList.cxx:457 AliHLTReadoutList.cxx:458 AliHLTReadoutList.cxx:459 AliHLTReadoutList.cxx:460 AliHLTReadoutList.cxx:461 AliHLTReadoutList.cxx:462 AliHLTReadoutList.cxx:463 AliHLTReadoutList.cxx:464 AliHLTReadoutList.cxx:465 AliHLTReadoutList.cxx:466 AliHLTReadoutList.cxx:467 AliHLTReadoutList.cxx:468 AliHLTReadoutList.cxx:469 AliHLTReadoutList.cxx:470 AliHLTReadoutList.cxx:471 AliHLTReadoutList.cxx:472 AliHLTReadoutList.cxx:473 AliHLTReadoutList.cxx:474 AliHLTReadoutList.cxx:475 AliHLTReadoutList.cxx:476 AliHLTReadoutList.cxx:477 AliHLTReadoutList.cxx:478 AliHLTReadoutList.cxx:479 AliHLTReadoutList.cxx:480 AliHLTReadoutList.cxx:481 AliHLTReadoutList.cxx:482 AliHLTReadoutList.cxx:483 AliHLTReadoutList.cxx:484 AliHLTReadoutList.cxx:485 AliHLTReadoutList.cxx:486 AliHLTReadoutList.cxx:487 AliHLTReadoutList.cxx:488 AliHLTReadoutList.cxx:489 AliHLTReadoutList.cxx:490 AliHLTReadoutList.cxx:491 AliHLTReadoutList.cxx:492 AliHLTReadoutList.cxx:493 AliHLTReadoutList.cxx:494 AliHLTReadoutList.cxx:495 AliHLTReadoutList.cxx:496 AliHLTReadoutList.cxx:497 AliHLTReadoutList.cxx:498 AliHLTReadoutList.cxx:499 AliHLTReadoutList.cxx:500 AliHLTReadoutList.cxx:501 AliHLTReadoutList.cxx:502 AliHLTReadoutList.cxx:503 AliHLTReadoutList.cxx:504 AliHLTReadoutList.cxx:505 AliHLTReadoutList.cxx:506 AliHLTReadoutList.cxx:507 AliHLTReadoutList.cxx:508 AliHLTReadoutList.cxx:509 AliHLTReadoutList.cxx:510 AliHLTReadoutList.cxx:511 AliHLTReadoutList.cxx:512 AliHLTReadoutList.cxx:513 AliHLTReadoutList.cxx:514 AliHLTReadoutList.cxx:515 AliHLTReadoutList.cxx:516 AliHLTReadoutList.cxx:517 AliHLTReadoutList.cxx:518 AliHLTReadoutList.cxx:519 AliHLTReadoutList.cxx:520 AliHLTReadoutList.cxx:521 AliHLTReadoutList.cxx:522 AliHLTReadoutList.cxx:523 AliHLTReadoutList.cxx:524 AliHLTReadoutList.cxx:525 AliHLTReadoutList.cxx:526 AliHLTReadoutList.cxx:527 AliHLTReadoutList.cxx:528 AliHLTReadoutList.cxx:529 AliHLTReadoutList.cxx:530 AliHLTReadoutList.cxx:531 AliHLTReadoutList.cxx:532 AliHLTReadoutList.cxx:533 AliHLTReadoutList.cxx:534 AliHLTReadoutList.cxx:535 AliHLTReadoutList.cxx:536 AliHLTReadoutList.cxx:537 AliHLTReadoutList.cxx:538 AliHLTReadoutList.cxx:539 AliHLTReadoutList.cxx:540 AliHLTReadoutList.cxx:541 AliHLTReadoutList.cxx:542 AliHLTReadoutList.cxx:543 AliHLTReadoutList.cxx:544 AliHLTReadoutList.cxx:545 AliHLTReadoutList.cxx:546 AliHLTReadoutList.cxx:547 AliHLTReadoutList.cxx:548 AliHLTReadoutList.cxx:549 AliHLTReadoutList.cxx:550 AliHLTReadoutList.cxx:551 AliHLTReadoutList.cxx:552 AliHLTReadoutList.cxx:553 AliHLTReadoutList.cxx:554 AliHLTReadoutList.cxx:555 AliHLTReadoutList.cxx:556 AliHLTReadoutList.cxx:557 AliHLTReadoutList.cxx:558 AliHLTReadoutList.cxx:559 AliHLTReadoutList.cxx:560 AliHLTReadoutList.cxx:561 AliHLTReadoutList.cxx:562 AliHLTReadoutList.cxx:563 AliHLTReadoutList.cxx:564 AliHLTReadoutList.cxx:565 AliHLTReadoutList.cxx:566 AliHLTReadoutList.cxx:567 AliHLTReadoutList.cxx:568 AliHLTReadoutList.cxx:569 AliHLTReadoutList.cxx:570 AliHLTReadoutList.cxx:571 AliHLTReadoutList.cxx:572 AliHLTReadoutList.cxx:573 AliHLTReadoutList.cxx:574 AliHLTReadoutList.cxx:575 AliHLTReadoutList.cxx:576 AliHLTReadoutList.cxx:577 AliHLTReadoutList.cxx:578 AliHLTReadoutList.cxx:579 AliHLTReadoutList.cxx:580 AliHLTReadoutList.cxx:581 AliHLTReadoutList.cxx:582 AliHLTReadoutList.cxx:583 AliHLTReadoutList.cxx:584 AliHLTReadoutList.cxx:585 AliHLTReadoutList.cxx:586 AliHLTReadoutList.cxx:587 AliHLTReadoutList.cxx:588 AliHLTReadoutList.cxx:589 AliHLTReadoutList.cxx:590 AliHLTReadoutList.cxx:591 AliHLTReadoutList.cxx:592 AliHLTReadoutList.cxx:593 AliHLTReadoutList.cxx:594 AliHLTReadoutList.cxx:595 AliHLTReadoutList.cxx:596 AliHLTReadoutList.cxx:597 AliHLTReadoutList.cxx:598 AliHLTReadoutList.cxx:599 AliHLTReadoutList.cxx:600 AliHLTReadoutList.cxx:601 AliHLTReadoutList.cxx:602 AliHLTReadoutList.cxx:603 AliHLTReadoutList.cxx:604 AliHLTReadoutList.cxx:605 AliHLTReadoutList.cxx:606 AliHLTReadoutList.cxx:607 AliHLTReadoutList.cxx:608 AliHLTReadoutList.cxx:609 AliHLTReadoutList.cxx:610 AliHLTReadoutList.cxx:611 AliHLTReadoutList.cxx:612 AliHLTReadoutList.cxx:613 AliHLTReadoutList.cxx:614 AliHLTReadoutList.cxx:615 AliHLTReadoutList.cxx:616 AliHLTReadoutList.cxx:617 AliHLTReadoutList.cxx:618 AliHLTReadoutList.cxx:619 AliHLTReadoutList.cxx:620 AliHLTReadoutList.cxx:621 AliHLTReadoutList.cxx:622 AliHLTReadoutList.cxx:623 AliHLTReadoutList.cxx:624 AliHLTReadoutList.cxx:625 AliHLTReadoutList.cxx:626 AliHLTReadoutList.cxx:627 AliHLTReadoutList.cxx:628 AliHLTReadoutList.cxx:629 AliHLTReadoutList.cxx:630 AliHLTReadoutList.cxx:631 AliHLTReadoutList.cxx:632 AliHLTReadoutList.cxx:633 AliHLTReadoutList.cxx:634 AliHLTReadoutList.cxx:635 AliHLTReadoutList.cxx:636 AliHLTReadoutList.cxx:637 AliHLTReadoutList.cxx:638 AliHLTReadoutList.cxx:639 AliHLTReadoutList.cxx:640 AliHLTReadoutList.cxx:641 AliHLTReadoutList.cxx:642 AliHLTReadoutList.cxx:643 AliHLTReadoutList.cxx:644 AliHLTReadoutList.cxx:645 AliHLTReadoutList.cxx:646 AliHLTReadoutList.cxx:647 AliHLTReadoutList.cxx:648 AliHLTReadoutList.cxx:649 AliHLTReadoutList.cxx:650 AliHLTReadoutList.cxx:651 AliHLTReadoutList.cxx:652 AliHLTReadoutList.cxx:653 AliHLTReadoutList.cxx:654 AliHLTReadoutList.cxx:655 AliHLTReadoutList.cxx:656 AliHLTReadoutList.cxx:657 AliHLTReadoutList.cxx:658 AliHLTReadoutList.cxx:659 AliHLTReadoutList.cxx:660 AliHLTReadoutList.cxx:661 AliHLTReadoutList.cxx:662 AliHLTReadoutList.cxx:663 AliHLTReadoutList.cxx:664 AliHLTReadoutList.cxx:665 AliHLTReadoutList.cxx:666 AliHLTReadoutList.cxx:667 AliHLTReadoutList.cxx:668 AliHLTReadoutList.cxx:669 AliHLTReadoutList.cxx:670 AliHLTReadoutList.cxx:671 AliHLTReadoutList.cxx:672 AliHLTReadoutList.cxx:673 AliHLTReadoutList.cxx:674 AliHLTReadoutList.cxx:675 AliHLTReadoutList.cxx:676 AliHLTReadoutList.cxx:677 AliHLTReadoutList.cxx:678 AliHLTReadoutList.cxx:679 AliHLTReadoutList.cxx:680 AliHLTReadoutList.cxx:681 AliHLTReadoutList.cxx:682 AliHLTReadoutList.cxx:683 AliHLTReadoutList.cxx:684 AliHLTReadoutList.cxx:685 AliHLTReadoutList.cxx:686 AliHLTReadoutList.cxx:687 AliHLTReadoutList.cxx:688 AliHLTReadoutList.cxx:689 AliHLTReadoutList.cxx:690 AliHLTReadoutList.cxx:691 AliHLTReadoutList.cxx:692 AliHLTReadoutList.cxx:693 AliHLTReadoutList.cxx:694 AliHLTReadoutList.cxx:695 AliHLTReadoutList.cxx:696 AliHLTReadoutList.cxx:697 AliHLTReadoutList.cxx:698 AliHLTReadoutList.cxx:699 AliHLTReadoutList.cxx:700 AliHLTReadoutList.cxx:701 AliHLTReadoutList.cxx:702 AliHLTReadoutList.cxx:703 AliHLTReadoutList.cxx:704 AliHLTReadoutList.cxx:705 AliHLTReadoutList.cxx:706 AliHLTReadoutList.cxx:707 AliHLTReadoutList.cxx:708 AliHLTReadoutList.cxx:709 AliHLTReadoutList.cxx:710 AliHLTReadoutList.cxx:711 AliHLTReadoutList.cxx:712 AliHLTReadoutList.cxx:713 AliHLTReadoutList.cxx:714 AliHLTReadoutList.cxx:715 AliHLTReadoutList.cxx:716 AliHLTReadoutList.cxx:717 AliHLTReadoutList.cxx:718 AliHLTReadoutList.cxx:719 AliHLTReadoutList.cxx:720 AliHLTReadoutList.cxx:721 AliHLTReadoutList.cxx:722 AliHLTReadoutList.cxx:723 AliHLTReadoutList.cxx:724 AliHLTReadoutList.cxx:725 AliHLTReadoutList.cxx:726 AliHLTReadoutList.cxx:727 AliHLTReadoutList.cxx:728 AliHLTReadoutList.cxx:729 AliHLTReadoutList.cxx:730 AliHLTReadoutList.cxx:731 AliHLTReadoutList.cxx:732 AliHLTReadoutList.cxx:733 AliHLTReadoutList.cxx:734 AliHLTReadoutList.cxx:735 AliHLTReadoutList.cxx:736 AliHLTReadoutList.cxx:737 AliHLTReadoutList.cxx:738 AliHLTReadoutList.cxx:739 AliHLTReadoutList.cxx:740 AliHLTReadoutList.cxx:741 AliHLTReadoutList.cxx:742 AliHLTReadoutList.cxx:743 AliHLTReadoutList.cxx:744 AliHLTReadoutList.cxx:745 AliHLTReadoutList.cxx:746 AliHLTReadoutList.cxx:747 AliHLTReadoutList.cxx:748 AliHLTReadoutList.cxx:749 AliHLTReadoutList.cxx:750 AliHLTReadoutList.cxx:751 AliHLTReadoutList.cxx:752 AliHLTReadoutList.cxx:753 AliHLTReadoutList.cxx:754 AliHLTReadoutList.cxx:755 AliHLTReadoutList.cxx:756 AliHLTReadoutList.cxx:757 AliHLTReadoutList.cxx:758 AliHLTReadoutList.cxx:759 AliHLTReadoutList.cxx:760 AliHLTReadoutList.cxx:761 AliHLTReadoutList.cxx:762 AliHLTReadoutList.cxx:763 AliHLTReadoutList.cxx:764 AliHLTReadoutList.cxx:765 AliHLTReadoutList.cxx:766 AliHLTReadoutList.cxx:767 AliHLTReadoutList.cxx:768 AliHLTReadoutList.cxx:769 AliHLTReadoutList.cxx:770 AliHLTReadoutList.cxx:771 AliHLTReadoutList.cxx:772 AliHLTReadoutList.cxx:773 AliHLTReadoutList.cxx:774 AliHLTReadoutList.cxx:775 AliHLTReadoutList.cxx:776 AliHLTReadoutList.cxx:777 AliHLTReadoutList.cxx:778 AliHLTReadoutList.cxx:779 AliHLTReadoutList.cxx:780 AliHLTReadoutList.cxx:781 AliHLTReadoutList.cxx:782 AliHLTReadoutList.cxx:783 AliHLTReadoutList.cxx:784 AliHLTReadoutList.cxx:785 AliHLTReadoutList.cxx:786 AliHLTReadoutList.cxx:787 AliHLTReadoutList.cxx:788 AliHLTReadoutList.cxx:789 AliHLTReadoutList.cxx:790 AliHLTReadoutList.cxx:791 AliHLTReadoutList.cxx:792 AliHLTReadoutList.cxx:793 AliHLTReadoutList.cxx:794 AliHLTReadoutList.cxx:795 AliHLTReadoutList.cxx:796 AliHLTReadoutList.cxx:797 AliHLTReadoutList.cxx:798 AliHLTReadoutList.cxx:799 AliHLTReadoutList.cxx:800 AliHLTReadoutList.cxx:801 AliHLTReadoutList.cxx:802 AliHLTReadoutList.cxx:803 AliHLTReadoutList.cxx:804 AliHLTReadoutList.cxx:805 AliHLTReadoutList.cxx:806 AliHLTReadoutList.cxx:807 AliHLTReadoutList.cxx:808 AliHLTReadoutList.cxx:809 AliHLTReadoutList.cxx:810 AliHLTReadoutList.cxx:811 AliHLTReadoutList.cxx:812 AliHLTReadoutList.cxx:813 AliHLTReadoutList.cxx:814 AliHLTReadoutList.cxx:815 AliHLTReadoutList.cxx:816 AliHLTReadoutList.cxx:817 AliHLTReadoutList.cxx:818 AliHLTReadoutList.cxx:819 AliHLTReadoutList.cxx:820 AliHLTReadoutList.cxx:821 AliHLTReadoutList.cxx:822 AliHLTReadoutList.cxx:823 AliHLTReadoutList.cxx:824 AliHLTReadoutList.cxx:825 AliHLTReadoutList.cxx:826 AliHLTReadoutList.cxx:827 AliHLTReadoutList.cxx:828 AliHLTReadoutList.cxx:829 AliHLTReadoutList.cxx:830 AliHLTReadoutList.cxx:831 AliHLTReadoutList.cxx:832 AliHLTReadoutList.cxx:833 AliHLTReadoutList.cxx:834 AliHLTReadoutList.cxx:835 AliHLTReadoutList.cxx:836 AliHLTReadoutList.cxx:837 AliHLTReadoutList.cxx:838 AliHLTReadoutList.cxx:839 AliHLTReadoutList.cxx:840 AliHLTReadoutList.cxx:841 AliHLTReadoutList.cxx:842 AliHLTReadoutList.cxx:843 AliHLTReadoutList.cxx:844 AliHLTReadoutList.cxx:845 AliHLTReadoutList.cxx:846 AliHLTReadoutList.cxx:847 AliHLTReadoutList.cxx:848 AliHLTReadoutList.cxx:849 AliHLTReadoutList.cxx:850 AliHLTReadoutList.cxx:851 AliHLTReadoutList.cxx:852 AliHLTReadoutList.cxx:853 AliHLTReadoutList.cxx:854 AliHLTReadoutList.cxx:855 AliHLTReadoutList.cxx:856 AliHLTReadoutList.cxx:857 AliHLTReadoutList.cxx:858 AliHLTReadoutList.cxx:859 AliHLTReadoutList.cxx:860 AliHLTReadoutList.cxx:861 AliHLTReadoutList.cxx:862 AliHLTReadoutList.cxx:863 AliHLTReadoutList.cxx:864 AliHLTReadoutList.cxx:865 AliHLTReadoutList.cxx:866 AliHLTReadoutList.cxx:867 AliHLTReadoutList.cxx:868 AliHLTReadoutList.cxx:869 AliHLTReadoutList.cxx:870 AliHLTReadoutList.cxx:871 AliHLTReadoutList.cxx:872 AliHLTReadoutList.cxx:873 AliHLTReadoutList.cxx:874 AliHLTReadoutList.cxx:875 AliHLTReadoutList.cxx:876 AliHLTReadoutList.cxx:877 AliHLTReadoutList.cxx:878 AliHLTReadoutList.cxx:879 AliHLTReadoutList.cxx:880 AliHLTReadoutList.cxx:881 AliHLTReadoutList.cxx:882 AliHLTReadoutList.cxx:883 AliHLTReadoutList.cxx:884 AliHLTReadoutList.cxx:885 AliHLTReadoutList.cxx:886 AliHLTReadoutList.cxx:887 AliHLTReadoutList.cxx:888 AliHLTReadoutList.cxx:889 AliHLTReadoutList.cxx:890 AliHLTReadoutList.cxx:891 AliHLTReadoutList.cxx:892 AliHLTReadoutList.cxx:893 AliHLTReadoutList.cxx:894 AliHLTReadoutList.cxx:895 AliHLTReadoutList.cxx:896 AliHLTReadoutList.cxx:897 AliHLTReadoutList.cxx:898 AliHLTReadoutList.cxx:899 AliHLTReadoutList.cxx:900 AliHLTReadoutList.cxx:901 AliHLTReadoutList.cxx:902 AliHLTReadoutList.cxx:903 AliHLTReadoutList.cxx:904 AliHLTReadoutList.cxx:905 AliHLTReadoutList.cxx:906 AliHLTReadoutList.cxx:907 AliHLTReadoutList.cxx:908 AliHLTReadoutList.cxx:909 AliHLTReadoutList.cxx:910 AliHLTReadoutList.cxx:911 AliHLTReadoutList.cxx:912 AliHLTReadoutList.cxx:913 AliHLTReadoutList.cxx:914 AliHLTReadoutList.cxx:915 AliHLTReadoutList.cxx:916 AliHLTReadoutList.cxx:917 AliHLTReadoutList.cxx:918 AliHLTReadoutList.cxx:919 AliHLTReadoutList.cxx:920 AliHLTReadoutList.cxx:921 AliHLTReadoutList.cxx:922 AliHLTReadoutList.cxx:923 AliHLTReadoutList.cxx:924 AliHLTReadoutList.cxx:925 AliHLTReadoutList.cxx:926 AliHLTReadoutList.cxx:927 AliHLTReadoutList.cxx:928 AliHLTReadoutList.cxx:929 AliHLTReadoutList.cxx:930 AliHLTReadoutList.cxx:931 AliHLTReadoutList.cxx:932 AliHLTReadoutList.cxx:933 AliHLTReadoutList.cxx:934 AliHLTReadoutList.cxx:935 AliHLTReadoutList.cxx:936 AliHLTReadoutList.cxx:937 AliHLTReadoutList.cxx:938 AliHLTReadoutList.cxx:939 AliHLTReadoutList.cxx:940 AliHLTReadoutList.cxx:941 AliHLTReadoutList.cxx:942 AliHLTReadoutList.cxx:943 AliHLTReadoutList.cxx:944 AliHLTReadoutList.cxx:945 AliHLTReadoutList.cxx:946 AliHLTReadoutList.cxx:947 AliHLTReadoutList.cxx:948 AliHLTReadoutList.cxx:949 AliHLTReadoutList.cxx:950 AliHLTReadoutList.cxx:951 AliHLTReadoutList.cxx:952 AliHLTReadoutList.cxx:953 AliHLTReadoutList.cxx:954 AliHLTReadoutList.cxx:955 AliHLTReadoutList.cxx:956 AliHLTReadoutList.cxx:957 AliHLTReadoutList.cxx:958 AliHLTReadoutList.cxx:959 AliHLTReadoutList.cxx:960 AliHLTReadoutList.cxx:961 AliHLTReadoutList.cxx:962 AliHLTReadoutList.cxx:963