5#ifndef LARIDENTIFIER_LARHVLINEID_H
6#define LARIDENTIFIER_LARHVLINEID_H
67 std::vector<HWIdentifier>::const_iterator
hvline_begin()
const;
71 std::vector<HWIdentifier>::const_iterator
hvline_end()
const;
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
static const int s_lar_atlas_value
static const int s_lar_testbeam_value
int lar_field_value() const
AtlasDetectorID(const std::string &name, const std::string &group)
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
This is a "hash" representation of an Identifier.
Helper for the Liquid Argon Calorimeter High-Voltage identifiers.
size_type m_canline_index
size_type m_partition_index
IdDictFieldImplementation m_partition_impl
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
IdDictFieldImplementation m_canline_impl
MultiRange m_full_atlas_highvoltage_range
const IdDictDictionary * m_dict
size_type m_configuration_index
int can_node(const HWIdentifier id) const
Return the CAN node from an HighVoltage line identifier.
LArHVLineID()
only allowed constructor
IdDictFieldImplementation m_atlas_impl
Field Implementation.
IdDictFieldImplementation m_hvline_impl
IdentifierHash hvline_hash_binary_search(HWIdentifier hvId) const
size_type m_hvlineHashMax
int can_line(const HWIdentifier id) const
Return the CAN line from an HighVoltage line identifier.
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
std::vector< HWIdentifier > m_hvline_vec
IdentifierHash hvlineHash(HWIdentifier hvline_id) const
Create an HighVoltage line hash identifiers from identifiers.
IdContext hvlineContext() const
std::vector< HWIdentifier >::const_iterator hvline_end() const
Return an iterator pointing to a collection of high voltage line identifier.
int partition(const HWIdentifier id) const
Return the partition from an HighVoltage line identifier.
IdDictFieldImplementation m_cannode_impl
size_type m_larhvRegion_index
size_type m_cannode_index
IdDictFieldImplementation m_configuration_impl
std::vector< HWIdentifier >::const_iterator hvline_begin() 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
MultiRange m_full_canline_range
int hv_line(const HWIdentifier id) const
Return the HV line number from an HighVoltage line identifier.
size_type hvlineHashMax() const
Define hash tables max size.
Identifier::size_type size_type
MultiRange m_full_hvline_range
HWIdentifier HVLineId(int part, int canline, int cannode, int line) const
Create an HighVoltage line identifier from fields.
A MultiRange combines several Ranges.