ROOT logo
// $Id$

//**************************************************************************
//* This file is property of and copyright by the ALICE HLT Project        * 
//* ALICE Experiment at CERN, All rights reserved.                         *
//*                                                                        *
//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
//*                  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   AliHLTDAQ.cxx
/// @author Matthias Richter
/// @date   24.10.2008
/// @brief  Virtual Interface to the AliDAQ class.
///

#include "AliHLTDAQ.h"
#include "AliHLTLogging.h"
#include "AliHLTDataTypes.h"
#include "AliHLTMisc.h"
#include "TClass.h"
#include "TSystem.h"

/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTDAQ)

AliHLTDAQ::AliHLTDAQ()
{
  // see header file for class documentation
  // or
  // refer to README to build package
  // or
  // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
}

AliHLTDAQ* AliHLTDAQ::fgpInstance=NULL;
const char* AliHLTDAQ::fgkImplName="AliHLTDAQInterfaceImplementation";
const char* AliHLTDAQ::fgkImplLibrary="libHLTrec.so";
const char* AliHLTDAQ::fgkOriginMapping[] = {
  kAliHLTDataOriginITSSPD,  
  kAliHLTDataOriginITSSDD,
  kAliHLTDataOriginITSSSD,
  kAliHLTDataOriginTPC,
  kAliHLTDataOriginTRD,
  kAliHLTDataOriginTOF,
  kAliHLTDataOriginHMPID,
  kAliHLTDataOriginPHOS,
  kAliHLTDataOriginCPV,
  kAliHLTDataOriginPMD,
  kAliHLTDataOriginMUON,
  "", // MUONTRG
  kAliHLTDataOriginFMD,
  kAliHLTDataOriginT0,
  kAliHLTDataOriginVZERO,
  kAliHLTDataOriginZDC,
  kAliHLTDataOriginACORDE,
  kAliHLTDataOriginTRG,
  kAliHLTDataOriginEMCAL,
  NULL
};

AliHLTDAQ::~AliHLTDAQ()
{
  // see header file for class documentation
}

Int_t       AliHLTDAQ::NumberOfDetectors()
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtNumberOfDetectors();
  return -1;
}

Int_t       AliHLTDAQ::DetectorID(const char *detectorName)
{
  // get the detector ID from the detector name
  // forwards to AliDAQ::DetectorName
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDetectorID(detectorName);
  return -1;
}

const char *AliHLTDAQ::DetectorName(Int_t detectorID)
{
  // get the detector name from the detector ID
  // forwards to AliDAQ::DetectorName
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDetectorName(detectorID);
  return NULL;
}

Int_t       AliHLTDAQ::DetectorIDFromHLTOrigin(const char dataorigin[kAliHLTComponentDataTypefOriginSize])
{
  // get the detector id from HLT origin
  for (int i=0; fgkOriginMapping[i]!=NULL; i++) {
    if (strncmp(fgkOriginMapping[i], dataorigin, kAliHLTComponentDataTypefOriginSize)==0) {
      return i;
    }
  }

  return -1;
}

const char *AliHLTDAQ::DetectorName(const char dataorigin[kAliHLTComponentDataTypefOriginSize])
{
  // get the detector name from HLT origin
  Int_t detectorID=DetectorIDFromHLTOrigin(dataorigin);
  if (detectorID<0) return NULL;

  return DetectorName(detectorID);
}

Int_t       AliHLTDAQ::DdlIDOffset(const char *detectorName)
{
  // get ID of the first DDL of a detector
  // forwards to AliDAQ::DdlIDOffset
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlIDOffset(detectorName);
  return -1;
}

Int_t       AliHLTDAQ::DdlIDOffset(Int_t detectorID)
{
  // get ID of the first DDL of a detector
  // forwards to AliDAQ::DdlIDOffset
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlIDOffset(detectorID);
  return -1;
}

const char *AliHLTDAQ::DetectorNameFromDdlID(Int_t ddlID, Int_t &ddlIndex)
{
  // get detector name from global DDL ID and index of DDL within the detector
  // forwards to AliDAQ::DetectorNameFromDdlID
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDetectorNameFromDdlID(ddlID, ddlIndex);
  return NULL;
}

Int_t       AliHLTDAQ::DetectorIDFromDdlID(Int_t ddlID, Int_t &ddlIndex)
{
  // get detector ID from global DDL ID and index of DDL within the detector
  // forwards to AliDAQ::DetectorNameFromDdlID
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDetectorIDFromDdlID(ddlID, ddlIndex);
  return -1;
}

Int_t       AliHLTDAQ::DdlID(const char *detectorName, Int_t ddlIndex)
{
  // get global DDL ID from detector name and index of DDL within the detector
  // forwards to AliDAQ::DdlID
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlID(detectorName, ddlIndex);
  return -1;
}

Int_t       AliHLTDAQ::DdlID(Int_t detectorID, Int_t ddlIndex)
{
  // get global DDL ID from detector ID and index of DDL within the detector
  // forwards to AliDAQ::DdlID
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlID(detectorID, ddlIndex);
  return -1;
}

const char *AliHLTDAQ::DdlFileName(const char *detectorName, Int_t ddlIndex)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlFileName(detectorName, ddlIndex);
  return NULL;
}

const char *AliHLTDAQ::DdlFileName(Int_t detectorID, Int_t ddlIndex)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDdlFileName(detectorID, ddlIndex);
  return NULL;
}

Int_t       AliHLTDAQ::NumberOfDdls(const char *detectorName)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtNumberOfDdls(detectorName);
  return -1;
}

Int_t       AliHLTDAQ::NumberOfDdls(Int_t detectorID)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtNumberOfDdls(detectorID);
  return -1;
}

const char *AliHLTDAQ::ListOfTriggeredDetectors(UInt_t detectorPattern)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtListOfTriggeredDetectors(detectorPattern);
  return NULL;
}

UInt_t      AliHLTDAQ::DetectorPattern(const char *detectorList)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtDetectorPattern(detectorList);
  return 0;
}

const char *AliHLTDAQ::OfflineModuleName(const char *detectorName)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtOfflineModuleName(detectorName);
  return NULL;
}
const char *AliHLTDAQ::OfflineModuleName(Int_t detectorID)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtOfflineModuleName(detectorID);
  return NULL;
}

const char *AliHLTDAQ::OnlineName(const char *detectorName)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtOnlineName(detectorName);
  return NULL;
}
const char *AliHLTDAQ::OnlineName(Int_t detectorID)
{
  // see header file for class documentation
  if (!fgpInstance) GetInstance();
  if (fgpInstance) return fgpInstance->VirtOnlineName(detectorID);
  return NULL;
}

string AliHLTDAQ::HLTOrigin(const char *detectorName)
{
  // get HLT origin from detector name
  return HLTOrigin(DetectorID(detectorName));
}

string AliHLTDAQ::HLTOrigin(Int_t detectorID)
{
  // get HLT origin from detector ID
  string origin;
  if (detectorID>=0 && (unsigned)detectorID<sizeof(fgkOriginMapping)/sizeof(const char*)) {
    origin.append(fgkOriginMapping[detectorID], kAliHLTComponentDataTypefOriginSize);
  }
  return origin;
}

string AliHLTDAQ::HLTSpecificationFromDdlID(Int_t ddlID)
{
  // get the HLT data specification from equipment id
  string result = "";
  Int_t ddlIndex=0;
  Int_t detectorID = DetectorIDFromDdlID(ddlID, ddlIndex);
  if (detectorID < 0)
    return result;
  Int_t TPCID = DetectorID("TPC");
  const int strtmplength=11;
  char strtmp[strtmplength];
  memset(strtmp, 0, strtmplength);
  if (detectorID == TPCID) {
    int partition;
    int slice;
    if (ddlID < 840) {
      partition = ddlID % 2;
      slice = (ddlID - 768) / 2;
    } else {
      partition = (ddlID % 4) + 2;
      slice = (ddlID - 840) / 4;
    }
    snprintf(strtmp, strtmplength, "0x%02x%02x%02x%02x", slice, slice, partition, partition);
    result = strtmp;
  }
  else if (detectorID == DetectorID("TOF")) {
    AliHLTLogging log;
    log.Logging(kHLTLogWarning, "AliHLTDAQ::HLTSpecificationFromDdlID", "HLT Analysis", "Mapping of data specification not implemented for TOF");
  }
  else { // default
    snprintf(strtmp, strtmplength, "0x%08x", 0x1 << ddlIndex);
    result = strtmp;
  }
  return result;
}

Int_t AliHLTDAQ::DdlIDFromHLTBlockData(const char dataorigin[kAliHLTComponentDataTypefOriginSize], UInt_t specification)
{
  // get the DDL ID (global equipment ID) from HLT origin and data specification
  Int_t detectorID=DetectorIDFromHLTOrigin(dataorigin);
  if (detectorID<0) return -1;
  Int_t ddlID=DdlIDOffset(detectorID);
  if (ddlID<0) return -1;

  if (detectorID == DetectorID("TPC")) {
    int minPartition= specification     &0xff;
    int maxPartition=(specification>>8) &0xff;
    int minSlice    =(specification>>16)&0xff;
    int maxSlice    =(specification>>24)&0xff;
    if (minPartition<0 || minPartition>5 ||
	maxPartition<0 || maxPartition>5 ||
	minSlice<0 || minSlice>35 ||
	maxSlice<0 || maxSlice>35) {
      AliHLTLogging log;
      log.Logging(kHLTLogError, "AliHLTDAQ::DdlID", "HLT Analysis", "invalid data specification 0x%08x", specification);
      return -1;
    }
    else if (minPartition!=maxPartition || 
	     minSlice!=maxSlice) {
      AliHLTLogging log;
      log.Logging(kHLTLogError, "AliHLTDAQ::DdlID", "HLT Analysis", "ambiguous data specification 0x%08x", specification);
      return -1;
    }
    if (minPartition<2) ddlID+=2*minSlice+minPartition;        // inner sector
    else                ddlID+=4*minSlice+(minPartition-2)+72; // outer sector
  }
  else if (detectorID == DetectorID("TOF")) {
    AliHLTLogging log;
    log.Logging(kHLTLogWarning, "AliHLTDAQ::DdlID", "HLT Analysis", "Mapping of data specification not implemented for TOF");
    return -1;
  }
  else { // default
    for (int i=0; i<32; i++) {
      if ((specification&(0x1<<i))==0) continue; // if bit not set
      if ((specification&(0xffffffff^(0x1<<i)))!=0) { // check if other bits set
	AliHLTLogging log;
	log.Logging(kHLTLogError, "AliHLTDAQ::DdlID", "HLT Analysis", "ambiguous data specification 0x%08x", specification);
	return -1;
      }
      ddlID+=i;
      break;
    }
  }

  return ddlID;
}

AliHLTDAQ* AliHLTDAQ::GetInstance()
{
  // see header file for class documentation
  if (!fgpInstance) {
    fgpInstance=AliHLTMisc::LoadInstance((AliHLTDAQ*)NULL, fgkImplName, fgkImplLibrary);
    if (!fgpInstance) {
      AliHLTLogging log;
      log.Logging(kHLTLogError, "AliHLTDAQ::Instance", "HLT Analysis", "failed to load AliHLTDAQ implementation");
    }
  }
  return fgpInstance;
}
 AliHLTDAQ.cxx:1
 AliHLTDAQ.cxx:2
 AliHLTDAQ.cxx:3
 AliHLTDAQ.cxx:4
 AliHLTDAQ.cxx:5
 AliHLTDAQ.cxx:6
 AliHLTDAQ.cxx:7
 AliHLTDAQ.cxx:8
 AliHLTDAQ.cxx:9
 AliHLTDAQ.cxx:10
 AliHLTDAQ.cxx:11
 AliHLTDAQ.cxx:12
 AliHLTDAQ.cxx:13
 AliHLTDAQ.cxx:14
 AliHLTDAQ.cxx:15
 AliHLTDAQ.cxx:16
 AliHLTDAQ.cxx:17
 AliHLTDAQ.cxx:18
 AliHLTDAQ.cxx:19
 AliHLTDAQ.cxx:20
 AliHLTDAQ.cxx:21
 AliHLTDAQ.cxx:22
 AliHLTDAQ.cxx:23
 AliHLTDAQ.cxx:24
 AliHLTDAQ.cxx:25
 AliHLTDAQ.cxx:26
 AliHLTDAQ.cxx:27
 AliHLTDAQ.cxx:28
 AliHLTDAQ.cxx:29
 AliHLTDAQ.cxx:30
 AliHLTDAQ.cxx:31
 AliHLTDAQ.cxx:32
 AliHLTDAQ.cxx:33
 AliHLTDAQ.cxx:34
 AliHLTDAQ.cxx:35
 AliHLTDAQ.cxx:36
 AliHLTDAQ.cxx:37
 AliHLTDAQ.cxx:38
 AliHLTDAQ.cxx:39
 AliHLTDAQ.cxx:40
 AliHLTDAQ.cxx:41
 AliHLTDAQ.cxx:42
 AliHLTDAQ.cxx:43
 AliHLTDAQ.cxx:44
 AliHLTDAQ.cxx:45
 AliHLTDAQ.cxx:46
 AliHLTDAQ.cxx:47
 AliHLTDAQ.cxx:48
 AliHLTDAQ.cxx:49
 AliHLTDAQ.cxx:50
 AliHLTDAQ.cxx:51
 AliHLTDAQ.cxx:52
 AliHLTDAQ.cxx:53
 AliHLTDAQ.cxx:54
 AliHLTDAQ.cxx:55
 AliHLTDAQ.cxx:56
 AliHLTDAQ.cxx:57
 AliHLTDAQ.cxx:58
 AliHLTDAQ.cxx:59
 AliHLTDAQ.cxx:60
 AliHLTDAQ.cxx:61
 AliHLTDAQ.cxx:62
 AliHLTDAQ.cxx:63
 AliHLTDAQ.cxx:64
 AliHLTDAQ.cxx:65
 AliHLTDAQ.cxx:66
 AliHLTDAQ.cxx:67
 AliHLTDAQ.cxx:68
 AliHLTDAQ.cxx:69
 AliHLTDAQ.cxx:70
 AliHLTDAQ.cxx:71
 AliHLTDAQ.cxx:72
 AliHLTDAQ.cxx:73
 AliHLTDAQ.cxx:74
 AliHLTDAQ.cxx:75
 AliHLTDAQ.cxx:76
 AliHLTDAQ.cxx:77
 AliHLTDAQ.cxx:78
 AliHLTDAQ.cxx:79
 AliHLTDAQ.cxx:80
 AliHLTDAQ.cxx:81
 AliHLTDAQ.cxx:82
 AliHLTDAQ.cxx:83
 AliHLTDAQ.cxx:84
 AliHLTDAQ.cxx:85
 AliHLTDAQ.cxx:86
 AliHLTDAQ.cxx:87
 AliHLTDAQ.cxx:88
 AliHLTDAQ.cxx:89
 AliHLTDAQ.cxx:90
 AliHLTDAQ.cxx:91
 AliHLTDAQ.cxx:92
 AliHLTDAQ.cxx:93
 AliHLTDAQ.cxx:94
 AliHLTDAQ.cxx:95
 AliHLTDAQ.cxx:96
 AliHLTDAQ.cxx:97
 AliHLTDAQ.cxx:98
 AliHLTDAQ.cxx:99
 AliHLTDAQ.cxx:100
 AliHLTDAQ.cxx:101
 AliHLTDAQ.cxx:102
 AliHLTDAQ.cxx:103
 AliHLTDAQ.cxx:104
 AliHLTDAQ.cxx:105
 AliHLTDAQ.cxx:106
 AliHLTDAQ.cxx:107
 AliHLTDAQ.cxx:108
 AliHLTDAQ.cxx:109
 AliHLTDAQ.cxx:110
 AliHLTDAQ.cxx:111
 AliHLTDAQ.cxx:112
 AliHLTDAQ.cxx:113
 AliHLTDAQ.cxx:114
 AliHLTDAQ.cxx:115
 AliHLTDAQ.cxx:116
 AliHLTDAQ.cxx:117
 AliHLTDAQ.cxx:118
 AliHLTDAQ.cxx:119
 AliHLTDAQ.cxx:120
 AliHLTDAQ.cxx:121
 AliHLTDAQ.cxx:122
 AliHLTDAQ.cxx:123
 AliHLTDAQ.cxx:124
 AliHLTDAQ.cxx:125
 AliHLTDAQ.cxx:126
 AliHLTDAQ.cxx:127
 AliHLTDAQ.cxx:128
 AliHLTDAQ.cxx:129
 AliHLTDAQ.cxx:130
 AliHLTDAQ.cxx:131
 AliHLTDAQ.cxx:132
 AliHLTDAQ.cxx:133
 AliHLTDAQ.cxx:134
 AliHLTDAQ.cxx:135
 AliHLTDAQ.cxx:136
 AliHLTDAQ.cxx:137
 AliHLTDAQ.cxx:138
 AliHLTDAQ.cxx:139
 AliHLTDAQ.cxx:140
 AliHLTDAQ.cxx:141
 AliHLTDAQ.cxx:142
 AliHLTDAQ.cxx:143
 AliHLTDAQ.cxx:144
 AliHLTDAQ.cxx:145
 AliHLTDAQ.cxx:146
 AliHLTDAQ.cxx:147
 AliHLTDAQ.cxx:148
 AliHLTDAQ.cxx:149
 AliHLTDAQ.cxx:150
 AliHLTDAQ.cxx:151
 AliHLTDAQ.cxx:152
 AliHLTDAQ.cxx:153
 AliHLTDAQ.cxx:154
 AliHLTDAQ.cxx:155
 AliHLTDAQ.cxx:156
 AliHLTDAQ.cxx:157
 AliHLTDAQ.cxx:158
 AliHLTDAQ.cxx:159
 AliHLTDAQ.cxx:160
 AliHLTDAQ.cxx:161
 AliHLTDAQ.cxx:162
 AliHLTDAQ.cxx:163
 AliHLTDAQ.cxx:164
 AliHLTDAQ.cxx:165
 AliHLTDAQ.cxx:166
 AliHLTDAQ.cxx:167
 AliHLTDAQ.cxx:168
 AliHLTDAQ.cxx:169
 AliHLTDAQ.cxx:170
 AliHLTDAQ.cxx:171
 AliHLTDAQ.cxx:172
 AliHLTDAQ.cxx:173
 AliHLTDAQ.cxx:174
 AliHLTDAQ.cxx:175
 AliHLTDAQ.cxx:176
 AliHLTDAQ.cxx:177
 AliHLTDAQ.cxx:178
 AliHLTDAQ.cxx:179
 AliHLTDAQ.cxx:180
 AliHLTDAQ.cxx:181
 AliHLTDAQ.cxx:182
 AliHLTDAQ.cxx:183
 AliHLTDAQ.cxx:184
 AliHLTDAQ.cxx:185
 AliHLTDAQ.cxx:186
 AliHLTDAQ.cxx:187
 AliHLTDAQ.cxx:188
 AliHLTDAQ.cxx:189
 AliHLTDAQ.cxx:190
 AliHLTDAQ.cxx:191
 AliHLTDAQ.cxx:192
 AliHLTDAQ.cxx:193
 AliHLTDAQ.cxx:194
 AliHLTDAQ.cxx:195
 AliHLTDAQ.cxx:196
 AliHLTDAQ.cxx:197
 AliHLTDAQ.cxx:198
 AliHLTDAQ.cxx:199
 AliHLTDAQ.cxx:200
 AliHLTDAQ.cxx:201
 AliHLTDAQ.cxx:202
 AliHLTDAQ.cxx:203
 AliHLTDAQ.cxx:204
 AliHLTDAQ.cxx:205
 AliHLTDAQ.cxx:206
 AliHLTDAQ.cxx:207
 AliHLTDAQ.cxx:208
 AliHLTDAQ.cxx:209
 AliHLTDAQ.cxx:210
 AliHLTDAQ.cxx:211
 AliHLTDAQ.cxx:212
 AliHLTDAQ.cxx:213
 AliHLTDAQ.cxx:214
 AliHLTDAQ.cxx:215
 AliHLTDAQ.cxx:216
 AliHLTDAQ.cxx:217
 AliHLTDAQ.cxx:218
 AliHLTDAQ.cxx:219
 AliHLTDAQ.cxx:220
 AliHLTDAQ.cxx:221
 AliHLTDAQ.cxx:222
 AliHLTDAQ.cxx:223
 AliHLTDAQ.cxx:224
 AliHLTDAQ.cxx:225
 AliHLTDAQ.cxx:226
 AliHLTDAQ.cxx:227
 AliHLTDAQ.cxx:228
 AliHLTDAQ.cxx:229
 AliHLTDAQ.cxx:230
 AliHLTDAQ.cxx:231
 AliHLTDAQ.cxx:232
 AliHLTDAQ.cxx:233
 AliHLTDAQ.cxx:234
 AliHLTDAQ.cxx:235
 AliHLTDAQ.cxx:236
 AliHLTDAQ.cxx:237
 AliHLTDAQ.cxx:238
 AliHLTDAQ.cxx:239
 AliHLTDAQ.cxx:240
 AliHLTDAQ.cxx:241
 AliHLTDAQ.cxx:242
 AliHLTDAQ.cxx:243
 AliHLTDAQ.cxx:244
 AliHLTDAQ.cxx:245
 AliHLTDAQ.cxx:246
 AliHLTDAQ.cxx:247
 AliHLTDAQ.cxx:248
 AliHLTDAQ.cxx:249
 AliHLTDAQ.cxx:250
 AliHLTDAQ.cxx:251
 AliHLTDAQ.cxx:252
 AliHLTDAQ.cxx:253
 AliHLTDAQ.cxx:254
 AliHLTDAQ.cxx:255
 AliHLTDAQ.cxx:256
 AliHLTDAQ.cxx:257
 AliHLTDAQ.cxx:258
 AliHLTDAQ.cxx:259
 AliHLTDAQ.cxx:260
 AliHLTDAQ.cxx:261
 AliHLTDAQ.cxx:262
 AliHLTDAQ.cxx:263
 AliHLTDAQ.cxx:264
 AliHLTDAQ.cxx:265
 AliHLTDAQ.cxx:266
 AliHLTDAQ.cxx:267
 AliHLTDAQ.cxx:268
 AliHLTDAQ.cxx:269
 AliHLTDAQ.cxx:270
 AliHLTDAQ.cxx:271
 AliHLTDAQ.cxx:272
 AliHLTDAQ.cxx:273
 AliHLTDAQ.cxx:274
 AliHLTDAQ.cxx:275
 AliHLTDAQ.cxx:276
 AliHLTDAQ.cxx:277
 AliHLTDAQ.cxx:278
 AliHLTDAQ.cxx:279
 AliHLTDAQ.cxx:280
 AliHLTDAQ.cxx:281
 AliHLTDAQ.cxx:282
 AliHLTDAQ.cxx:283
 AliHLTDAQ.cxx:284
 AliHLTDAQ.cxx:285
 AliHLTDAQ.cxx:286
 AliHLTDAQ.cxx:287
 AliHLTDAQ.cxx:288
 AliHLTDAQ.cxx:289
 AliHLTDAQ.cxx:290
 AliHLTDAQ.cxx:291
 AliHLTDAQ.cxx:292
 AliHLTDAQ.cxx:293
 AliHLTDAQ.cxx:294
 AliHLTDAQ.cxx:295
 AliHLTDAQ.cxx:296
 AliHLTDAQ.cxx:297
 AliHLTDAQ.cxx:298
 AliHLTDAQ.cxx:299
 AliHLTDAQ.cxx:300
 AliHLTDAQ.cxx:301
 AliHLTDAQ.cxx:302
 AliHLTDAQ.cxx:303
 AliHLTDAQ.cxx:304
 AliHLTDAQ.cxx:305
 AliHLTDAQ.cxx:306
 AliHLTDAQ.cxx:307
 AliHLTDAQ.cxx:308
 AliHLTDAQ.cxx:309
 AliHLTDAQ.cxx:310
 AliHLTDAQ.cxx:311
 AliHLTDAQ.cxx:312
 AliHLTDAQ.cxx:313
 AliHLTDAQ.cxx:314
 AliHLTDAQ.cxx:315
 AliHLTDAQ.cxx:316
 AliHLTDAQ.cxx:317
 AliHLTDAQ.cxx:318
 AliHLTDAQ.cxx:319
 AliHLTDAQ.cxx:320
 AliHLTDAQ.cxx:321
 AliHLTDAQ.cxx:322
 AliHLTDAQ.cxx:323
 AliHLTDAQ.cxx:324
 AliHLTDAQ.cxx:325
 AliHLTDAQ.cxx:326
 AliHLTDAQ.cxx:327
 AliHLTDAQ.cxx:328
 AliHLTDAQ.cxx:329
 AliHLTDAQ.cxx:330
 AliHLTDAQ.cxx:331
 AliHLTDAQ.cxx:332
 AliHLTDAQ.cxx:333
 AliHLTDAQ.cxx:334
 AliHLTDAQ.cxx:335
 AliHLTDAQ.cxx:336
 AliHLTDAQ.cxx:337
 AliHLTDAQ.cxx:338
 AliHLTDAQ.cxx:339
 AliHLTDAQ.cxx:340
 AliHLTDAQ.cxx:341
 AliHLTDAQ.cxx:342
 AliHLTDAQ.cxx:343
 AliHLTDAQ.cxx:344
 AliHLTDAQ.cxx:345
 AliHLTDAQ.cxx:346
 AliHLTDAQ.cxx:347
 AliHLTDAQ.cxx:348
 AliHLTDAQ.cxx:349
 AliHLTDAQ.cxx:350
 AliHLTDAQ.cxx:351
 AliHLTDAQ.cxx:352
 AliHLTDAQ.cxx:353
 AliHLTDAQ.cxx:354
 AliHLTDAQ.cxx:355
 AliHLTDAQ.cxx:356
 AliHLTDAQ.cxx:357
 AliHLTDAQ.cxx:358
 AliHLTDAQ.cxx:359
 AliHLTDAQ.cxx:360
 AliHLTDAQ.cxx:361
 AliHLTDAQ.cxx:362
 AliHLTDAQ.cxx:363
 AliHLTDAQ.cxx:364
 AliHLTDAQ.cxx:365
 AliHLTDAQ.cxx:366
 AliHLTDAQ.cxx:367
 AliHLTDAQ.cxx:368