ROOT logo
//-*- Mode: C++ -*-
// $Id$
#ifndef ALIHLTDOMAINENTRY_H
#define ALIHLTDOMAINENTRY_H
/* This file is property of and copyright by the ALICE HLT Project        *
 * ALICE Experiment at CERN, All rights reserved.                         *
 * See cxx source for full Copyright notice                               */

/// @file   AliHLTDomainEntry.h
/// @author Artur Szostak <artursz@iafrica.com>
/// @date   20 Nov 2008
/// @brief  Declaration of the AliHLTDomainEntry class used to store identifying information about HLT data blocks.

#include "TObject.h"
#include "AliHLTDataTypes.h"

class TString;

/**
 * \class AliHLTDomainEntry
 * 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.
 */
class AliHLTDomainEntry : public TObject
{
 public:
  
  /**
   * Default constructor.
   */
  AliHLTDomainEntry();
  
  /**
   * Copy constructor performs a deep copy.
   * \param domain  The domain entry to copy from.
   */
  AliHLTDomainEntry(const AliHLTDomainEntry& domain);
  
  /**
   * This constructs a domain entry with a particular data type and an 'any' wild
   * card value for specification indicating any specification will match.
   * \param type  The data block type and origin to use.
   */
  AliHLTDomainEntry(const AliHLTComponentDataType& type);
  
  /**
   * This constructs a domain entry with a particular data type and origin. The
   * specification is marked as an 'any' wild card value, indicating any data
   * block specification will match.
   * \param blocktype  The data block type string of the data block. The value
   *    kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
   * \param origin  The origin of the data block, such as the detector name.
   *    The value kAliHLTDataOriginAny can be used to specify the any origin
   *    wild card value.
   */
  AliHLTDomainEntry(const char* blocktype, const char* origin);
  
  /**
   * This constructs a domain entry with a particular data type, origin and
   * specification.
   * \param type  The data block type and origin to use.
   * \param spec  The data block specification to use.
   */
  AliHLTDomainEntry(const AliHLTComponentDataType& type, UInt_t spec);
  
  /**
   * This constructs a domain entry with a particular data type, origin and
   * specification.
   * \param blocktype  The data block type string of the data block. The value
   *    kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
   * \param origin  The origin of the data block, such as the detector name.
   *    The value kAliHLTDataOriginAny can be used to specify the any origin
   *    wild card value.
   * \param spec  The data block specification to use.
   */
  AliHLTDomainEntry(const char* blocktype, const char* origin, UInt_t spec);
  
  /**
   * The constructor deep copies the domain entry but overrides the exclude flag.
   * \param exclude  The new exclude flag value to use. If 'true' then the entry
   *    forms part of a trigger domain exclusion rule.
   * \param domain  The domain entry to copy from.
   */
  AliHLTDomainEntry(Bool_t exclude, const AliHLTDomainEntry& domain);
  
  /**
   * This constructs a domain entry with a particular data type and exclude flag
   * value, but an 'any' wild card value is used for the data block specification.
   * \param exclude  The exclude flag value to use. If 'true' then the entry forms
   *    part of a trigger domain exclusion rule.
   * \param type  The data block type and origin to use.
   */
  AliHLTDomainEntry(Bool_t exclude, const AliHLTComponentDataType& type);
  
  /**
   * This constructs a domain entry with a particular data type, origin and exclusion
   * value. The specification is marked as an 'any' wild card value, indicating any
   * data block specification will match.
   * \param exclude  The exclude flag value to use. If 'true' then the entry forms
   *    part of a trigger domain exclusion rule.
   * \param blocktype  The data block type string of the data block. The value
   *    kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
   * \param origin  The origin of the data block, such as the detector name.
   *    The value kAliHLTDataOriginAny can be used to specify the any origin
   *    wild card value.
   */
  AliHLTDomainEntry(Bool_t exclude, const char* blocktype, const char* origin);
  
  /**
   * This constructs a domain entry with a particular exclude flag value, data type,
   * origin and specification.
   * \param exclude  The exclude flag value to use. If 'true' then the entry forms
   *    part of a trigger domain exclusion rule.
   * \param type  The data block type and origin to use.
   * \param spec  The data block specification to use.
   */
  AliHLTDomainEntry(Bool_t exclude, const AliHLTComponentDataType& type, UInt_t spec);
  
  /**
   * This constructs a domain entry with a particular exclude flag value, data type,
   * origin and specification.
   * \param exclude  The exclude flag value to use. If 'true' then the entry forms
   *    part of a trigger domain exclusion rule.
   * \param blocktype  The data block type string of the data block. The value
   *    kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
   * \param origin  The origin of the data block, such as the detector name.
   *    The value kAliHLTDataOriginAny can be used to specify the any origin
   *    wild card value.
   * \param spec  The data block specification to use.
   */
  AliHLTDomainEntry(Bool_t exclude, const char* blocktype, const char* origin, UInt_t spec);
  
  /**
   * Default destructor.
   */
  virtual ~AliHLTDomainEntry();
  
  /**
   * Returns the value of the exclude flag.
   * \return  true if the domain entry is an exclusion and the matching data blocks
   *    should not form part of the trigger domain for readout.
   */
  Bool_t Exclusive() const { return fExclude; }
  
  /**
   * Sets the value of the exclude flag.
   * \param value  The value to set the flag to. If 'true' then the domain entry
   *    is an exclusion and the matching data blocks should not form part of the
   *    trigger domain for readout. If 'false' then the matching data blocks should
   *    form part of the readout.
   */
  void Exclusive(Bool_t value) { fExclude = value; }
  
  /**
   * Indicates if the domain entry is an inclusive rule.
   * \return  true if the domain entry is an inclusion and the matching data blocks
   *    should form part of the trigger domain for readout.
   */
  Bool_t Inclusive() const { return ! fExclude; }
  
  /**
   * Used to set if the domain entry should be an inclusion or exclusion.
   * \param value  The value to set. If 'true' then the domain entry is an inclusion
   *    and the matching data blocks should form part of the trigger domain for readout.
   *    If 'false' then the matching data blocks should not form part of the readout.
   */
  void Inclusive(Bool_t value) { fExclude = ! value; }
  
  /**
   * Returns the data type of the domain entry.
   * \return  The data type that data blocks are compared to.
   */
  const AliHLTComponentDataType& DataType() const { return fType; }
  
  /**
   * Indicates if the specification is used.
   * \return  true if the specification is used when matching data blocks, otherwise
   *     false, indicating that the specification is treated as a wild card value.
   */
  Bool_t IsValidSpecification() const { return fUseSpec; }
  
  /**
   * Returns the data block specification of the domain entry.
   * \return  The data block specification that data blocks are compared to.
   */
  UInt_t Specification() const { return fSpecification; }
  
  /**
   * The copy operator performs a deep copy.
   * \param domain  The domain entry to copy from.
   */
  AliHLTDomainEntry& operator = (const AliHLTDomainEntry& domain);
  
  /**
   * The comparison operator checks to see if two domain entries match.
   * \param rhs  The right hand side domain entry to compare to.
   * \return  true if the domain entries are identical or if they overlap (match)
   *    due to wild card values. False is returned if there is absolutely no
   *    overlap between this and the right hand side domain entries.
   * \note No comparison is done for the exclude flag.
   */
  bool operator == (const AliHLTDomainEntry& rhs) const
  {
    return (fType == rhs.fType) && (fUseSpec && rhs.fUseSpec ? fSpecification == rhs.fSpecification : true);
  }
  
  /**
   * The comparison operator checks to see if two domain entries do not match.
   * \param rhs  The right hand side domain entry to compare to.
   * \return  true if the domain entries do not overlap (match) in any way, also
   *    after considering any wild card values. False is returned if the entries
   *    are identical or if they overlap due to wild card values.
   * \note No comparison is done for the exclude flag.
   */
  bool operator != (const AliHLTDomainEntry& rhs) const
  {
    return ! this->operator == (rhs);
  }
  
  /**
   * The comparison operator checks to see if the data block matches the domain entry.
   * \note The data block's specification is treated as exact and never as a wild card
   *    'any' value. To be able to treat the specification as 'any', create a new
   *    AliHLTDomainEntry object with the
   *      \code AliHLTDomainEntry(const AliHLTComponentDataType& type) \endcode
   *    constructor, using the data blocks type for the <i>type</i> parameter.
   *    With the new AliHLTDomainEntry object one can make the required wild card comparison.
   * \param block  The data block to compare to.
   * \return  true if the data block matches the domain entry and false otherwise.
   */
  bool operator == (const AliHLTComponentBlockData* block) const
  {
    return (fType == block->fDataType) && (fUseSpec ? fSpecification == block->fSpecification : true);
  }
  
  /**
   * The comparison operator checks to see if the data block does not match the domain entry.
   * \note The data block's specification is treated as exact and never as a wild card
   *    'any' value. To be able to make the required comparison treating the specification
   *    as 'any' try the following code:
   *    \code
   *      AliHLTComponentBlockData* block;  // assumed initialised.
   *      AliHLTDomainEntry entryToCompareTo;  // assumed initialised.
   *      AliHLTDomainEntry newEntryForBlock(block->fDataType);
   *      bool comparisonResult = (entryToCompareTo == newEntryForBlock);
   *    \endcode
   * \param block  The data block to compare to.
   * \return  true if the data block matches the domain entry and false otherwise.
   */
  bool operator != (const AliHLTComponentBlockData* block) const
  {
    return ! this->operator == (block);
  }
  
  /**
   * This typecast operator returns the data type of the domain entry.
   * \return  Copy of the data block type structure.
   */
  operator AliHLTComponentDataType () const { return fType; }
  
  /**
   * Compares this domain entry to another to see if they are identical.
   * \param rhs  The domain entry to compare to.
   * \return  True if the two domain entries have the same data types, origins and
   *   specifications, character for character, ignoring wild card symantics.
   *   False is returned otherwise.
   * \note No comparison is done for the exclude flag.
   */
  bool IdenticalTo(const AliHLTDomainEntry& rhs) const;
  
  /**
   * Compares this domain entry is a subset of the given entry.
   * If we consider the possibility of wild card characters, then the domain entry
   * can be thought of as a set of possible data block entries. This operator
   * therefore effectively implements set logic.
   * \param rhs  The domain entry to compare to.
   * \return  True if the this domain entry is either identical to <i>rhs</i>, i.e.
   *   IdenticalTo(rhs) returns true, or if <i>rhs</i> can match to all data blocks
   *   that this domain entry can match to, but also <i>rhs</i> can match to other
   *   data blocks that this entry cannot match to.
   * \note No comparison is done for the exclude flag.
   */
  bool SubsetOf(const AliHLTDomainEntry& rhs) const;
  
  /**
   * Finds the set intersection between this domain entry and 'rhs', and puts the
   * intersection value into 'result'.
   * If we consider the possibility of wild card characters, then the domain entry
   * can be thought of as a set of possible data block entries. This operator
   * therefore effectively implements the set intersection.
   * \param [in]  rhs     The domain entry to compare to.
   * \param [out] result  The resulting intersect is written into this
   *    variable if this method returns true. The contents is not modified if
   *    there is no intersect and this method returns false.
   * \return true is returned if there is a intersect between the domain entries
   *    and false otherwise.
   */
  bool IntersectWith(const AliHLTDomainEntry& rhs, AliHLTDomainEntry& result) const;
  
  /**
   * Inherited from TObject. Prints the domain entry in the following format:<br>
   *  \<type\>:\<origin\>:\<specification\><br>
   * where<br>
   *  \<type\> is the 8 character data block type.<br>
   *  \<origin\> is the 4 character data block origin.<br>
   *  \<specification\> is the data block specification printed in hexadecimal format.<br>
   * The "\0" string is printed for NULL characters in the type and origin strings.
   * While "********" is printed for the 'any' data type wild card value, "****"
   * is printed for the 'any' origin wild card value and "**********" is printed
   * for the 'any' specification wild card.
   * \param option  If set to "noendl" then no end of line is printed.
   */
  virtual void Print(Option_t* option = "") const;
  
  /**
   * Converts the domain entry type, origin and specification into a string
   * representation.
   * \returns  A string in the format \<type\>:\<origin\>:\<specification\>
   */
  TString AsString() const;

  /**
   * Converts the three parameters into a 32 byte buffer
   * As the PubSub expects the data type id and origin in reverse byte order
   * those two are swapped. 
   */
  int AsBinary(AliHLTUInt32_t buffer[4]) const;

 private:
  
  Bool_t fExclude;  /// Indicates if the domain entry is exclusive, indicating data blocks that should not be readout.
  Bool_t fUseSpec;  /// Indicates if the fSpecification field should be used. If not set then the specification is treated as an 'any' wild card value.
  AliHLTComponentDataType fType;  /// The HLT data block type.
  UInt_t fSpecification;  /// The data block specification to match.
  
  ClassDef(AliHLTDomainEntry, 1) // A data block type and possible specification entry, which forms part of a trigger domain.
};

#endif // ALIHLTDOMAINENTRY_H

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