|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef HGTD_IDENTIFIER_HGTD_ID_H
10 #define HGTD_IDENTIFIER_HGTD_ID_H
13 #include "Identifier/Identifier.h"
290 int eta_module )
const
297 m_indet_impl.pack (indet_field_value(),
result);
298 m_hgtd_impl.pack (hgtd_field_value(),
result);
299 m_ec_impl.pack (endcap,
result);
301 m_phi_mod_impl.pack (phi_module,
result);
302 m_eta_mod_impl.pack (eta_module,
result);
306 wafer_id_checks ( endcap,
layer, phi_module, eta_module );
423 return (tval - bval);
508 #endif // HGTD_IDENTIFIER_HGTD_ID_H
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
IdDictFieldImplementation m_phi_index_impl
Identifier pixel_id_offset(const Identifier &base, Identifier::diff_type offset) const
Create an identifier with a given base and channel offset.
MultiRange m_full_wafer_range
int eta_module_min(const Identifier &id) const
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
const IdDictDictionary * m_dict
int base_bit(void) const
Return the lowest bit position used in the channel id.
IdDictFieldImplementation m_hgtd_impl
int get_prev_in_eta(const IdentifierHash &id, IdentifierHash &prev) const
Previous wafer hash in eta (return == 0 for neighbor found)
bool get_useNewIdentifierScheme() const
int endcap(const Identifier &id) const
Values of different levels (failure returns 0)
int eta_index(const Identifier &id) const
void pack(int value, Identifier &id) const
int eta_module_max(const Identifier &id) const
IdContext pixel_context(void) const
hash_vec::const_iterator hash_vec_it
hash_vec m_prev_phi_wafer_vec
bool m_do_checks
Flag for subclasses to know whether or not to perform checks.
std::vector< unsigned short > hash_vec
const_expanded_id_iterator pixel_end(void) const
void wafer_id_checks(int endcap, int layer, int phi_module, int eta_module) const
int layer(const Identifier &id) const
IdDictFieldImplementation m_ec_impl
int unpack(Identifier id) const
Identifier manipulation methods.
const_id_iterator wafer_begin(void) const
Iterators over full set of ids. Wafer iterator is sorted.
size_type m_wafer_hash_max
hash_vec m_next_phi_wafer_vec
void get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context=0) const
Create expanded id from compact id (return == 0 for OK)
Identifier wafer_id(int endcap, int layer, int phi_module, int eta_module) const
For a single crystal.
void reset(Identifier &id) const
virtual int get_id(const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const
Create compact id from hash id (return == 0 for OK)
Identifier::size_type size_type
int phi_index(const Identifier &id) const
std::string m_padInModuleColumn
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictFieldImplementation m_eta_index_impl
id_vec::const_iterator id_vec_it
std::string m_padInModuleRow
void pixel_id_checks(int endcap, int layer, int phi_module, int eta_module, int phi_index, int eta_index) const
size_type m_pixel_hash_max
int hgtd_field_value() const
std::string m_moduleInRow
bool m_useNewIdentifierScheme
size_type m_ETA_INDEX_INDEX
size_type m_PHI_MODULE_INDEX
int eta_index_max(const Identifier &id) const
virtual int get_hash(const Identifier &id, IdentifierHash &hash_id, const IdContext *context=0) const
Create hash id from compact id (return == 0 for OK)
size_type m_ETA_MODULE_INDEX
hash_vec m_prev_eta_wafer_vec
void test_wafer_packing(void) const
Tests of packing.
int initLevelsFromDict(void)
IdDictFieldImplementation m_phi_mod_impl
int get_next_in_phi(const IdentifierHash &id, IdentifierHash &next) const
Next wafer hash in phi (return == 0 for neighbor found)
int phi_module_max(const Identifier &id) const
hash_vec m_next_eta_wafer_vec
MultiRange m_full_pixel_range
IdDictFieldImplementation m_indet_impl
Identifier::size_type size_type
size_type wafer_hash_max(void) const
size_type pixel_hash_max(void) const
A MultiRange combines several Ranges.
const_expanded_id_iterator pixel_begin(void) const
For pixel ids, only expanded id iterators are available.
Identifier pixel_id(int endcap, int layer, int phi_module, int eta_module, int phi_index, int eta_index) const
For an individual pixel.
Identifier::diff_type calc_offset(const Identifier &base, const Identifier &target) const
Calculate a channel offset between the two identifiers.
const_id_iterator wafer_end(void) const
int get_prev_in_phi(const IdentifierHash &id, IdentifierHash &prev) const
Previous wafer hash in phi (return == 0 for neighbor found)
MultiRange::const_identifier_factory const_expanded_id_iterator
IdContext wafer_context(void) const
int eta_module(const Identifier &id) const
std::vector< Identifier >::const_iterator const_id_iterator
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
void set_useNewIdentifierScheme(bool switchIntoNewIdentifier)
int phi_module(const Identifier &id) const
std::string m_moduleInLayer_Or_Row
bool is_phi_module_max(const Identifier &id) const
To check for when phi wrap around may be needed.
unsigned long long value_type
IdDictFieldImplementation m_eta_mod_impl
unsigned long long size_type
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...
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
int layer_max(const Identifier &id) const
Max/Min values for each field (error returns -999)
macros to associate a CLID to a type
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
size_type m_hgtd_region_index
int phi_index_max(const Identifier &id) const
size_type m_PHI_INDEX_INDEX
std::vector< Identifier > id_vec
int get_next_in_eta(const IdentifierHash &id, IdentifierHash &next) const
Next wafer hash in eta (return == 0 for neighbor found)
IdDictFieldImplementation m_layer_impl