|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef LARIDENTIFIER_LARHVLINEID_H
6 #define LARIDENTIFIER_LARHVLINEID_H
72 std::vector<HWIdentifier>::const_iterator
hvline_begin(
void)
const;
76 std::vector<HWIdentifier>::const_iterator
hvline_end(
void)
const;
199 static const int s_lar_atlas_value = 1 ;
200 static const int s_lar_testbeam_value = 2 ;
221 m_atlas_impl.pack (lar_field_value(),
result);
222 m_configuration_impl.pack(s_lar_atlas_value,
result);
224 m_canline_impl.pack (canline ,
result);
225 m_cannode_impl.pack (cannode ,
result);
233 return(m_hvline_vec[hvlineHashId]);
240 std::vector<HWIdentifier>::const_iterator
it = std::lower_bound(m_hvline_vec.begin(),m_hvline_vec.end(),hvId);
241 if (
it != m_hvline_vec.end() ){
242 return (
it - m_hvline_vec.begin());
250 return m_hvlineHashMax;
257 return(m_hvline_vec.begin());
263 return(m_hvline_vec.end());
270 return (m_partition_impl.unpack(
id));
276 return (m_canline_impl.unpack(
id));
283 return (m_cannode_impl.unpack(
id));
289 return (m_hvline_impl.unpack(
id));
536 #endif //LARHVLINEID_H
IdentifierHash hvline_hash_binary_search(HWIdentifier hvId) const
IdContext hvlineContext(void) const
std::vector< HWIdentifier > m_hvline_vec
int can_node(const HWIdentifier id) const
Return the CAN node from an HighVoltage line identifier.
HWIdentifier HVLineId(int part, int canline, int cannode, int line) const
Create an HighVoltage line identifier from fields.
size_type m_cannode_index
size_type m_partition_index
IdDictFieldImplementation m_configuration_impl
int hv_line(const HWIdentifier id) const
Return the HV line number from an HighVoltage line identifier.
IdDictFieldImplementation m_partition_impl
bool const RAWDATA *ch2 const
size_type hvlineHashMax(void) const
Define hash tables max size.
LArHVLineID(void)
only allowed constructor
int initLevelsFromDict(void)
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
Identifier::size_type size_type
size_type m_canline_index
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
std::vector< HWIdentifier >::const_iterator hvline_end(void) const
Return an iterator pointing to a collection of high voltage line identifier.
void hvlineId_checks(int part, int canline, int cannode, int line) const
IdDictFieldImplementation m_atlas_impl
Field Implementation.
int partition(const HWIdentifier id) const
Return the partition from an HighVoltage line identifier.
MultiRange m_full_hvline_range
int can_line(const HWIdentifier id) const
Return the CAN line from an HighVoltage line identifier.
size_type m_configuration_index
const IdDictDictionary * m_dict
std::vector< HWIdentifier >::const_iterator hvline_begin(void) const
Return an iterator pointing to a collection of high voltage line identifier.
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
A MultiRange combines several Ranges.
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
IdDictFieldImplementation m_cannode_impl
size_type m_hvlineHashMax
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
unsigned long long size_type
MultiRange m_full_canline_range
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
IdDictFieldImplementation m_canline_impl
IdDictFieldImplementation m_hvline_impl
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
macros to associate a CLID to a type
Identifier::size_type size_type
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
MultiRange m_full_atlas_highvoltage_range
size_type m_larhvRegion_index
IdentifierHash hvlineHash(HWIdentifier hvline_id) const
Create an HighVoltage line hash identifiers from identifiers.
Helper for the Liquid Argon Calorimeter High-Voltage identifiers.