5#ifndef CALOIDENTIFIER_TTONLINEID_H
6#define CALOIDENTIFIER_TTONLINEID_H
48 std::vector<HWIdentifier>::const_iterator
crate_begin()
const;
49 std::vector<HWIdentifier>::const_iterator
crate_end()
const;
61 std::vector<HWIdentifier>::const_iterator
module_begin()
const;
62 std::vector<HWIdentifier>::const_iterator
module_end()
const;
75 std::vector<HWIdentifier>::const_iterator
submodule_end()
const;
87 std::vector<HWIdentifier>::const_iterator
channel_begin()
const;
88 std::vector<HWIdentifier>::const_iterator
channel_end()
const;
241 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(
m_crate_vec.begin(),
m_crate_vec.end(),crate_id);
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
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
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.
A MultiRange combines several Ranges.
Helper class for Calo TT online identifiers.
HWIdentifier moduleId(int crate, int module) const
(1) create towerId from fields
size_type m_submodule_index
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
int initLevelsFromDict()
init() hashes
size_type m_l1online_regions_index
std::vector< HWIdentifier > m_channel_vec
IdDictFieldImplementation m_channel_impl
IdDictFieldImplementation m_submodule_impl
MultiRange m_full_submodule_range
size_type m_submoduleHashMax
HWIdentifier channelId(int crate, int module, int submodule, int channel) const
(1) create towerId from fields
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded HWIdentifier from HWIdentifier (return == 0 for OK)
HWIdentifier crateId(int crate) const
(1) create towerId from fields
IdDictFieldImplementation m_calo_detzside_impl
std::vector< HWIdentifier >::const_iterator module_end() const
int module(const HWIdentifier id) const
int detzside_field_value() const
return the value of the detzside field (initialized in initialize_from_dictionary())
void channel_Id_checks(int crate, int module, int submodule, int channel) const
std::vector< HWIdentifier >::const_iterator submodule_begin() const
(4) iterator over towerId
IdentifierHash channelHash(HWIdentifier crate_id) const
(3) create towerId from hash
std::vector< HashCalc > m_hash_calcs
void module_Id_checks(int crate, int module) const
IdContext crateContext() const
context for feedthroughs, feb & channels
std::vector< HWIdentifier > m_module_vec
size_type crateHashMax() const
IdDictFieldImplementation m_crate_impl
std::vector< HWIdentifier >::const_iterator submodule_end() const
size_type m_channel_index
Identifier::size_type size_type
IdentifierHash submoduleHash(HWIdentifier crate_id) const
(3) create towerId from hash
const IdDictDictionary * m_dict
std::vector< HWIdentifier >::const_iterator crate_end() const
void crate_Id_checks(int crate) const
IdContext moduleContext() const
size_type moduleHashMax() const
MultiRange m_full_crate_range
std::vector< HWIdentifier >::const_iterator channel_begin() const
(4) iterator over towerId
size_type submoduleHashMax() const
size_type channelHashMax() const
int m_iDetZSideFieldValue
IdDictFieldImplementation m_calo_impl
Field Implementation.
MultiRange m_full_module_range
size_type m_moduleHashMax
std::vector< HWIdentifier > m_crate_vec
size_type m_calo_index
Member Data index.
void submodule_Id_checks(int crate, int module, int submodule) const
HWIdentifier submoduleId(int crate, int module, int submodule) const
(1) create towerId from fields
int submodule(const HWIdentifier id) const
IdContext submoduleContext() const
MultiRange m_full_channel_range
size_type m_channelHashMax
size_type m_detzside_index
std::vector< HWIdentifier >::const_iterator crate_begin() const
(4) iterator over towerId
int crate(const HWIdentifier id) const
std::vector< HWIdentifier > m_submodule_vec
IdContext channelContext() const
int channel(const HWIdentifier id) const
IdentifierHash moduleHash(HWIdentifier crate_id) const
(3) create towerId from hash
IdentifierHash crateHash(HWIdentifier crate_id) const
(3) create towerId from hash
std::vector< HWIdentifier >::const_iterator module_begin() const
(4) iterator over towerId
IdDictFieldImplementation m_module_impl
std::vector< HWIdentifier >::const_iterator channel_end() const
IdentifierHash channel_hash_binary_search(HWIdentifier channelId) const