 |
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()
const;
76 std::vector<HWIdentifier>::const_iterator
hvline_end()
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());
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
std::vector< HWIdentifier > m_hvline_vec
int can_node(const HWIdentifier id) const
Return the CAN node from an HighVoltage line identifier.
std::vector< HWIdentifier >::const_iterator hvline_end() const
Return an iterator pointing to a collection of high voltage 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
IdContext hvlineContext() const
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
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_begin() const
Return an iterator pointing to a collection of high voltage line identifier.
LArHVLineID()
only allowed constructor
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
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
size_type hvlineHashMax() const
Define hash tables max size.
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.