ROOT logo
// $Id$
/**************************************************************************
 * This file is property of and copyright by the ALICE HLT Project        *
 * ALICE Experiment at CERN, All rights reserved.                         *
 *                                                                        *
 * Primary Authors: Artur Szostak <artursz@iafrica.com>                   *
 *                  for The ALICE HLT Project.                            *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/// @file   AliHLTReadoutList.cxx
/// @author Artur Szostak <artursz@iafrica.com>
/// @date   19 Nov 2008
/// @brief  Implementation of the AliHLTReadoutList class.
///
/// The AliHLTReadoutList class is used as an interface to the AliHLTEventDDL
/// structure. It makes it easy to manipulate the bits in this structure, which
/// define what DDLs should be readout by DAQ.
/// Several operators are also overloaded which are meant to be used in the trigger
/// menu specification for the AliHLTGlobalTrigger. It allows one to construct
/// expressions for the readout lists, which is necessary to be able to evaluate
/// or compose the final readout list, given multiple input readout lists received
/// from individual components that derive from AliHLTTrigger.

#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)
{
  // Converts a detector ID to a user readable string.
  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()
{
  // Default constructor.
  
  fReadoutList.fCount = gkAliHLTDDLListSize;  // Required by ALICE-INT-2007-015
  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()
{
  // Constructor to select which detectors to enable for readout.
  // See header file for more details.
  
  fReadoutList.fCount = gkAliHLTDDLListSize;  // Required by ALICE-INT-2007-015
  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()
{
  // Constructor to select which detectors and DDLs to enable for readout.
  // See header file for more details.
  
  fReadoutList.fCount = gkAliHLTDDLListSize;  // Required by ALICE-INT-2007-015
  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()
{
  // Constructor to create readout list from AliHLTEventDDL structure.
  // See header file for more details.
  FillStruct(list);
}


AliHLTReadoutList::AliHLTReadoutList(const AliHLTReadoutList& list) :
	TNamed(list),
	fReadoutList()
{
  // Copy constructor performs a deep copy.
  
  if (list.fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize)
  {
    memcpy(&fReadoutList, &list.fReadoutList, sizeof(fReadoutList));
  }
  else
  {
    FillStruct(list);
  }
}


void AliHLTReadoutList::FillStruct(const AliHLTEventDDL& list)
{
  // Fills internal DDL bits structure.

  fReadoutList.fCount = gkAliHLTDDLListSize;  // Required by ALICE-INT-2007-015
  memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));
  // Handle lists of different sizes. If the size is for a known version
  // of AliHLTEventDDL then handle appropriately, otherwise just copy only
  // the overlapping part of the list.
  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()
{
  // Default destructor.
}


bool AliHLTReadoutList::Empty() const
{
  // Returns true if the readout list has no DDLs enabled.

  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* /*option*/)
{
  // Resets all the DDL readout bits.
  memset(fReadoutList.fList, 0x0, sizeof(fReadoutList.fList));

#if 1 // ROOT_SVN_REVISION < 9999  //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
  // Check if we need to convert to new format and do so.
  if (fReadoutList.fCount == (unsigned)gkAliHLTDDLListSizeV0)
  {
    fReadoutList.fCount = gkAliHLTDDLListSize;
  }
#endif
}


bool AliHLTReadoutList::DecodeDDLID(Int_t ddlId, Int_t& wordIndex, Int_t& bitIndex)
{
  // Decodes the word index and bit index within that word for the readout list structure.
  // See header file for more details.
  
  // The detector number is bits 15..8 of ddlId and DDL number is bits 7..0.
  Int_t detNum = ddlId >> 8;
  Int_t ddlNum = ddlId & 0xFF;
  
  switch (detNum)
  {
  case 0: // SPD
  case 1: // SDD
  case 2: // SSD
    if (ddlNum >= 32) return false; // only have 1 32-bit word.
    // the 3 ITS detectors have one word each
    wordIndex = detNum;
    break;
  case 3: // TPC
    // the TPC bitfield has in total 8 words
    wordIndex = detNum + (ddlNum >> 5);
    break;
  case 4: // TRD
    if (ddlNum >= 32) return false; // only have 1 32-bit word.
    // the TRD bitfield starts at word 11 (3 words ITS + 8 words TPC)
    wordIndex = 11;
    break;
  case 5: // TOF
    if (ddlNum >= 3*32) return false; // only have 3 32-bit words.
    // TOF has 72 DDLs, the bitfield is 3 words starting at position 12
    wordIndex = 12 + (ddlNum >> 5);
    break;
  case 6: // HMPID
  case 7: // PHOS
  case 8: // CPV
  case 9: // PMD
  case 10: // MUONTRK (MCH)
  case 11: // MUONTRG (MTR)
  case 12: // FMD
  case 13: // T0
  case 14: // V0
  case 15: // ZDC
  case 16: // ACORDE
  case 17: // TRG
    if (ddlNum >= 32) return false; // only have 1 32-bit word.
    // all these detectors fit into one word, the offset is due to
    // TPC and TOF
    wordIndex = detNum + 9;
    break;
  case 18: // EMCAL
    if (ddlNum >= 2*32) return false; // only have 2 32-bit words.
    // 2 words for EMCAL + DCAL
    wordIndex = detNum + 7;
    wordIndex = 27 + (ddlNum >> 5);
    break;
  case 19: // DAQTEST
    if (ddlNum >= 32) return false; // only have 1 32-bit word.
    wordIndex = 29;
    break;
  case 30: // HLT
    if (ddlNum >= 32) return false; // only have 1 32-bit word.
    // the HLT bitfield is in the last word
    wordIndex = 30;
    break;
  default:
    return false;
  }
  
  if (ddlNum >= AliHLTDAQ::NumberOfDdls(detNum == 30 ? 20 : detNum)) return false;
  
  // The bit index within the word indicated by wordIndex.
  bitIndex = ddlNum % 32;
  return true;
}


Bool_t AliHLTReadoutList::GetDDLBit(Int_t ddlId) const
{
  // Fetches the bit value for a particular DDL in the readout list.
  // See header file for more details.
  
  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
  // Check if we need to convert to new format and do so.
  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)
{
  // Sets the bit value for a particular DDL in the readout list.
  // See header file for more details.

#if 1 // ROOT_SVN_REVISION < 9999  //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
  // Check if we need to convert to new format and do so.
  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;

  // To set, 'OR' word with bit mask
  if ( state )
    fReadoutList.fList[wordIndex] |= (0x00000001 << bitIndex);
  // To unset, 'AND' word with bit mask
  else
    fReadoutList.fList[wordIndex] &= (0xFFFFFFFF ^ (0x00000001 << bitIndex));
}


void AliHLTReadoutList::Enable(Int_t detector)
{
  // Enables all DDLs for a particular detector or detectors.
  // See header file for more details.

#if 1 // ROOT_SVN_REVISION < 9999  //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
  // Check if we need to convert to new format and do so.
  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)
{
  // Disables all DDLs for a particular detector or detectors.
  // See header file for more details.

#if 1 // ROOT_SVN_REVISION < 9999  //FIXME: after fixed https://savannah.cern.ch/bugs/?69241
  // Check if we need to convert to new format and do so.
  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
{
  // Checks if a particular detector's DDLs are enabled.
  // See header file for more details.
  
  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
{
  // Checks if a particular detector's DDLs are disabled.
  // See header file for more details.
  
  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)
{
  // See header file for more details.
  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)
{
  // See header file for more details.
  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)
{
  // See header file for more details.
  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
{
  // See header file for more details.

  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
  // Check if we need to convert to new format and do so.
  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* /*option*/) const
{
  // Prints the DDLs that will be readout according to this readout list.
  
  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)
{
  // Assignment operator performs a deep copy.
  
  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 operator performs a bitwise inclusive or operation on all DDL bits.
  // See header file for more details.
  this->OrEq(list);
  return *this;
}

AliHLTReadoutList& AliHLTReadoutList::OrEq(const AliHLTReadoutList& list)
{
  // a bitwise inclusive or operation on all DDL bits.
  // See header file for more details.
  
  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 operator performs a bitwise exclusive or (xor) operation on all DDL bits.
  // See header file for more details.

  this->XorEq(list);
  return *this;
}

AliHLTReadoutList& AliHLTReadoutList::XorEq(const AliHLTReadoutList& list)
{
  // bitwise exclusive or (xor) operation on all DDL bits.
  // See header file for more details.
  
  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 operator performs a bitwise and operation on all DDL bits.
  // See header file for more details.

  this->AndEq(list);
  return *this;
}

AliHLTReadoutList& AliHLTReadoutList::AndEq(const AliHLTReadoutList& list)
{
  // bitwise and operation on all DDL bits.
  // See header file for more details.

  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 operator removes all the DDLs specified in list from this readout list.
  // See header file for more details.
  
  assert( fReadoutList.fCount == (unsigned)gkAliHLTDDLListSize );
  assert( fReadoutList.fCount == list.fReadoutList.fCount );
  for (Int_t i = 0; i < gkAliHLTDDLListSize; i++)
  {
    // Effectively apply: this = this & (~ (this & list))
    // i.e. this = this & (this ^ list)
    fReadoutList.fList[i] &= fReadoutList.fList[i] ^ list.fReadoutList.fList[i];
  }
  return *this;
}


AliHLTReadoutList AliHLTReadoutList::operator ~ () const
{
  // This operator performs a bitwise ones compliment on all DDL bits.
  // See header file for more details.
  
  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;// & (~fReadoutList.fList[10]); // Commented out the end part to suppress coverty warning.
  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
  // Check if we need to convert to new format and do so.
  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)
{
   // Stream an object of class AliHLTReadoutList.

   if (R__b.IsReading()) {
      R__b.ReadClassBuffer(AliHLTReadoutList::Class(),this);
      // Convert old structure to new version if necessary.
      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:1
 AliHLTReadoutList.cxx:2
 AliHLTReadoutList.cxx:3
 AliHLTReadoutList.cxx:4
 AliHLTReadoutList.cxx:5
 AliHLTReadoutList.cxx:6
 AliHLTReadoutList.cxx:7
 AliHLTReadoutList.cxx:8
 AliHLTReadoutList.cxx:9
 AliHLTReadoutList.cxx:10
 AliHLTReadoutList.cxx:11
 AliHLTReadoutList.cxx:12
 AliHLTReadoutList.cxx:13
 AliHLTReadoutList.cxx:14
 AliHLTReadoutList.cxx:15
 AliHLTReadoutList.cxx:16
 AliHLTReadoutList.cxx:17
 AliHLTReadoutList.cxx:18
 AliHLTReadoutList.cxx:19
 AliHLTReadoutList.cxx:20
 AliHLTReadoutList.cxx:21
 AliHLTReadoutList.cxx:22
 AliHLTReadoutList.cxx:23
 AliHLTReadoutList.cxx:24
 AliHLTReadoutList.cxx:25
 AliHLTReadoutList.cxx:26
 AliHLTReadoutList.cxx:27
 AliHLTReadoutList.cxx:28
 AliHLTReadoutList.cxx:29
 AliHLTReadoutList.cxx:30
 AliHLTReadoutList.cxx:31
 AliHLTReadoutList.cxx:32
 AliHLTReadoutList.cxx:33
 AliHLTReadoutList.cxx:34
 AliHLTReadoutList.cxx:35
 AliHLTReadoutList.cxx:36
 AliHLTReadoutList.cxx:37
 AliHLTReadoutList.cxx:38
 AliHLTReadoutList.cxx:39
 AliHLTReadoutList.cxx:40
 AliHLTReadoutList.cxx:41
 AliHLTReadoutList.cxx:42
 AliHLTReadoutList.cxx:43
 AliHLTReadoutList.cxx:44
 AliHLTReadoutList.cxx:45
 AliHLTReadoutList.cxx:46
 AliHLTReadoutList.cxx:47
 AliHLTReadoutList.cxx:48
 AliHLTReadoutList.cxx:49
 AliHLTReadoutList.cxx:50
 AliHLTReadoutList.cxx:51
 AliHLTReadoutList.cxx:52
 AliHLTReadoutList.cxx:53
 AliHLTReadoutList.cxx:54
 AliHLTReadoutList.cxx:55
 AliHLTReadoutList.cxx:56
 AliHLTReadoutList.cxx:57
 AliHLTReadoutList.cxx:58
 AliHLTReadoutList.cxx:59
 AliHLTReadoutList.cxx:60
 AliHLTReadoutList.cxx:61
 AliHLTReadoutList.cxx:62
 AliHLTReadoutList.cxx:63
 AliHLTReadoutList.cxx:64
 AliHLTReadoutList.cxx:65
 AliHLTReadoutList.cxx:66
 AliHLTReadoutList.cxx:67
 AliHLTReadoutList.cxx:68
 AliHLTReadoutList.cxx:69
 AliHLTReadoutList.cxx:70
 AliHLTReadoutList.cxx:71
 AliHLTReadoutList.cxx:72
 AliHLTReadoutList.cxx:73
 AliHLTReadoutList.cxx:74
 AliHLTReadoutList.cxx:75
 AliHLTReadoutList.cxx:76
 AliHLTReadoutList.cxx:77
 AliHLTReadoutList.cxx:78
 AliHLTReadoutList.cxx:79
 AliHLTReadoutList.cxx:80
 AliHLTReadoutList.cxx:81
 AliHLTReadoutList.cxx:82
 AliHLTReadoutList.cxx:83
 AliHLTReadoutList.cxx:84
 AliHLTReadoutList.cxx:85
 AliHLTReadoutList.cxx:86
 AliHLTReadoutList.cxx:87
 AliHLTReadoutList.cxx:88
 AliHLTReadoutList.cxx:89
 AliHLTReadoutList.cxx:90
 AliHLTReadoutList.cxx:91
 AliHLTReadoutList.cxx:92
 AliHLTReadoutList.cxx:93
 AliHLTReadoutList.cxx:94
 AliHLTReadoutList.cxx:95
 AliHLTReadoutList.cxx:96
 AliHLTReadoutList.cxx:97
 AliHLTReadoutList.cxx:98
 AliHLTReadoutList.cxx:99
 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