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   AliHLTDomainEntry.cxx
/// @author Artur Szostak <artursz@iafrica.com>
/// @date   20 Nov 2008
/// @brief  Implementation of the AliHLTDomainEntry class.
///
/// The AliHLTDomainEntry class is used to store information identifying a particular
/// HLT internal data block, or set of data blocks using wild card values. This
/// class is used by AliHLTTriggerDomain to store a list of data block classes
/// that should be readout by the HLT. The information identifying a data block is
/// the following:
///  - the data block type
///  - the data block's origin (detector name)
///  - the data block's specification (detector specific bits)
/// Several useful operators and methods are defined to help manipulate this
/// information in the AliHLTTriggerDomain class.

#include "AliHLTDomainEntry.h"
#include "Riostream.h"
#include "TString.h"
#include <cstring>
#include <cerrno>

ClassImp(AliHLTDomainEntry)


AliHLTDomainEntry::AliHLTDomainEntry() :
  TObject(),
  fExclude(kFALSE),
  fUseSpec(kFALSE),
  fType(kAliHLTVoidDataType),
  fSpecification(kAliHLTVoidDataSpec)
{
  // Default constructor.
}

AliHLTDomainEntry::AliHLTDomainEntry(const AliHLTDomainEntry& domain) :
  TObject(domain),
  fExclude(domain.fExclude),
  fUseSpec(domain.fUseSpec),
  fType(domain.fType),
  fSpecification(domain.fSpecification)
{
  // Copy constructor performs a deep copy.
}


AliHLTDomainEntry::AliHLTDomainEntry(const AliHLTComponentDataType& type) :
  TObject(),
  fExclude(kFALSE),
  fUseSpec(kFALSE),
  fType(type),
  fSpecification(kAliHLTVoidDataSpec)
{
  // Constructs a domain entry with a particular data type and any specification.
  // See header file for more information.
}


AliHLTDomainEntry::AliHLTDomainEntry(const char* blocktype, const char* origin) :
  TObject(),
  fExclude(kFALSE),
  fUseSpec(kFALSE),
  fType(),
  fSpecification(kAliHLTVoidDataSpec)
{
  // Constructs a domain entry with a particular data type and any specification.
  // See header file for more information.
  
  char id[kAliHLTComponentDataTypefIDsize];
  memset(&id, 0x0, sizeof(id));
  for (int i = 0; i < kAliHLTComponentDataTypefIDsize && blocktype[i] != '\0'; i++)
  {
    id[i] = blocktype[i];
  }
  fType = AliHLTComponentDataTypeInitializer(id, origin);
}


AliHLTDomainEntry::AliHLTDomainEntry(const AliHLTComponentDataType& type, UInt_t spec) :
  TObject(),
  fExclude(kFALSE),
  fUseSpec(kTRUE),
  fType(type),
  fSpecification(spec)
{
  // Constructs a domain entry with a particular data type and specification.
  // See header file for more information.
}


AliHLTDomainEntry::AliHLTDomainEntry(const char* blocktype, const char* origin, UInt_t spec) :
  TObject(),
  fExclude(kFALSE),
  fUseSpec(kTRUE),
  fType(),
  fSpecification(spec)
{
  // Constructs a domain entry with a particular data type and specification.
  // See header file for more information.
  
  char id[kAliHLTComponentDataTypefIDsize];
  memset(&id, 0x0, sizeof(id));
  for (int i = 0; i < kAliHLTComponentDataTypefIDsize && blocktype[i] != '\0'; i++)
  {
    id[i] = blocktype[i];
  }
  fType = AliHLTComponentDataTypeInitializer(id, origin);
}


AliHLTDomainEntry::AliHLTDomainEntry(Bool_t exclude, const AliHLTDomainEntry& domain) :
  TObject(domain),
  fExclude(exclude),
  fUseSpec(domain.fUseSpec),
  fType(domain.fType),
  fSpecification(domain.fSpecification)
{
  // Constructs a domain entry from an existing one but with the exclude flag set.
  // See header file for more information.
}


AliHLTDomainEntry::AliHLTDomainEntry(Bool_t exclude, const AliHLTComponentDataType& type) :
  TObject(),
  fExclude(exclude),
  fUseSpec(kFALSE),
  fType(type),
  fSpecification(kAliHLTVoidDataSpec)
{
  // Constructs a domain entry with the given data type, any specification
  // and the exclude flag set.
  // See header file for more information.
}


AliHLTDomainEntry::AliHLTDomainEntry(Bool_t exclude, const char* blocktype, const char* origin) :
  TObject(),
  fExclude(exclude),
  fUseSpec(kFALSE),
  fType(),
  fSpecification(kAliHLTVoidDataSpec)
{
  // Constructs a domain entry with a particular data type, any specification
  // and the exclude flag set.
  // See header file for more information.
  
  char id[kAliHLTComponentDataTypefIDsize];
  memset(&id, 0x0, sizeof(id));
  for (int i = 0; i < kAliHLTComponentDataTypefIDsize && blocktype[i] != '\0'; i++)
  {
    id[i] = blocktype[i];
  }
  fType = AliHLTComponentDataTypeInitializer(id, origin);
}


AliHLTDomainEntry::AliHLTDomainEntry(Bool_t exclude, const AliHLTComponentDataType& type, UInt_t spec) :
  TObject(),
  fExclude(exclude),
  fUseSpec(kTRUE),
  fType(type),
  fSpecification(spec)
{
  // Constructs a domain entry with a particular data type and specification,
  // and the exclude flag is set.
  // See header file for more information.
}


AliHLTDomainEntry::AliHLTDomainEntry(Bool_t exclude, const char* blocktype, const char* origin, UInt_t spec) :
  TObject(),
  fExclude(exclude),
  fUseSpec(kTRUE),
  fType(),
  fSpecification(spec)
{
  // Constructs a domain entry with a particular data type and specification,
  // and the exclude flag is set.
  // See header file for more information.
  
  char id[kAliHLTComponentDataTypefIDsize];
  memset(&id, 0x0, sizeof(id));
  for (int i = 0; i < kAliHLTComponentDataTypefIDsize && blocktype[i] != '\0'; i++)
  {
    id[i] = blocktype[i];
  }
  fType = AliHLTComponentDataTypeInitializer(id, origin);
}


AliHLTDomainEntry::~AliHLTDomainEntry()
{
  // Default destructor.
}


AliHLTDomainEntry& AliHLTDomainEntry::operator = (const AliHLTDomainEntry& domain)
{
  // The copy operator performs a deep copy.

  if (this==&domain) return *this;
  TObject::operator = (domain);
  fType = domain.fType;
  fUseSpec = domain.fUseSpec;
  fSpecification = domain.fSpecification;
  return *this;
}


bool AliHLTDomainEntry::IdenticalTo(const AliHLTDomainEntry& rhs) const
{
  // Checks if this domain entry is identical to 'rhs' and do not just have a
  // set intersection.
  // See header file for more information.
  
  if (not MatchExactly(fType, rhs.fType)) return false;
  return (fUseSpec == rhs.fUseSpec) and (fSpecification == rhs.fSpecification);
}


bool AliHLTDomainEntry::SubsetOf(const AliHLTDomainEntry& rhs) const
{
  // Checks if this domain entry is a subset of 'rhs'.
  // See header file for more information.

  if (*this != rhs) return false;
  bool thisTypeIsAny = strncmp(&fType.fID[0], kAliHLTAnyDataTypeID, kAliHLTComponentDataTypefIDsize) == 0;
  bool rhsTypeIsAny = strncmp(&rhs.fType.fID[0], kAliHLTAnyDataTypeID, kAliHLTComponentDataTypefIDsize) == 0;
  if (thisTypeIsAny and not rhsTypeIsAny) return false;
  bool thisOriginIsAny = strncmp(&fType.fOrigin[0], kAliHLTDataOriginAny, kAliHLTComponentDataTypefOriginSize) == 0;
  bool rhsOriginIsAny = strncmp(&rhs.fType.fOrigin[0], kAliHLTDataOriginAny, kAliHLTComponentDataTypefOriginSize) == 0;
  if (thisOriginIsAny and not rhsOriginIsAny) return false;
  bool thisSpecIsAny = not fUseSpec;
  bool rhsSpecIsAny = not rhs.fUseSpec;
  if (thisSpecIsAny and not rhsSpecIsAny) return false;
  return true;
}


bool AliHLTDomainEntry::IntersectWith(const AliHLTDomainEntry& rhs, AliHLTDomainEntry& result) const
{
  // Finds the set intersection between this domain entry and 'rhs'.
  // See header file for more information.

  if (*this != rhs) return false;
  bool thisTypeIsAny = strncmp(&fType.fID[0], kAliHLTAnyDataTypeID, kAliHLTComponentDataTypefIDsize) == 0;
  bool thisOriginIsAny = strncmp(&fType.fOrigin[0], kAliHLTDataOriginAny, kAliHLTComponentDataTypefOriginSize) == 0;
  bool thisSpecIsAny = not fUseSpec;
  const AliHLTComponentDataType& type = (not thisTypeIsAny) ? fType : rhs.fType;
  const AliHLTComponentDataType& origin = (not thisOriginIsAny) ? fType : rhs.fType;
  Bool_t useSpec;
  UInt_t spec;
  if (not thisSpecIsAny)
  {
    useSpec = fUseSpec;
    spec = fSpecification;
  }
  else
  {
    useSpec = rhs.fUseSpec;
    spec = rhs.fSpecification;
  }
  if (useSpec)
  {
    result = AliHLTDomainEntry(type | origin.fOrigin, spec);
  }
  else
  {
    result = AliHLTDomainEntry(type | origin.fOrigin);
  }
  return true;
}


void AliHLTDomainEntry::Print(Option_t* option) const
{
  // Inherited from TObject. Prints the domain entry contents.
  // See header file for more information.
  
  cout << AsString().Data();
  TString opt(option);
  if (opt.Contains("noendl")) return;
  cout << endl;
}


TString AliHLTDomainEntry::AsString() const
{
  // Returns a string representation of the domain entry.
  // See header file for more information.
  
  TString str;
  if (strncmp(&fType.fID[0], kAliHLTAnyDataTypeID, kAliHLTComponentDataTypefIDsize) == 0)
  {
    for (int i = 0; i < kAliHLTComponentDataTypefIDsize; i++) str += "*";
  }
  else
  {
    for (int i = 0; i < kAliHLTComponentDataTypefIDsize; i++)
    {
      if (fType.fID[i] != '\0')
        str += fType.fID[i];
      else
        str += "\\0";
    }
  }
  str += ":";
  if (strncmp(&fType.fOrigin[0], kAliHLTDataOriginAny, kAliHLTComponentDataTypefOriginSize) == 0)
  {
    for (int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++) str += "*";
  }
  else
  {
    for (int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++)
    {
      if (fType.fOrigin[i] != '\0')
        str += fType.fOrigin[i];
      else
        str += "\\0";
    }
  }
  str += ":";
  if (fUseSpec)
  {
    char num[16];
    sprintf(num, "0x%8.8X", fSpecification);
    str += num;
  }
  else
  {
    str += "**********";
  }
  return str;
}

int AliHLTDomainEntry::AsBinary(AliHLTUInt32_t buffer[4]) const
{
  // convert the data type and specification to a 32 byte buffer
  if (!buffer) return -EINVAL;

  AliHLTUInt32_t* tgt=buffer; 
  unsigned ii=0;

  // lower part of the data type id
  *tgt=0;
  for ( ii=0; ii<4; ii++ ) {
    *tgt |= ((AliHLTUInt32_t)(fType.fID[8-1-ii])) << (ii*8);
  }
  tgt++;
	  
  // upper part of the data type id
  *tgt=0;
  for ( ii=0; ii<4; ii++ ) {
    *tgt |= ((AliHLTUInt32_t)(fType.fID[8-5-ii])) << (ii*8);
  }
  tgt++;
  
  // data type origin
  *tgt=0;
  for ( ii=0; ii<4; ii++ ) {
    *tgt |= ((AliHLTUInt32_t)(fType.fOrigin[4-1-ii])) << (ii*8);
  }
  tgt++;
  
  // specification
  if (fUseSpec)
    *tgt = fSpecification;
  else
    *tgt = kAliHLTVoidDataSpec;

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