80 int eta,
int phi,
bool checks )
const ;
86 int eta,
int phi,
bool checks )
const ;
154 using id_range = std::ranges::subrange<id_iterator>;
410 int eta,
int phi,
bool checks )
const
438 int eta,
int phi,
bool checks )
const
538 int layer,
bool checks )
const
737 std::vector<Identifier>::const_iterator it = std::lower_bound(
m_tower_vec.begin(),
m_tower_vec.end(),towerId);
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
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.
int calo_field_value() const
bool is_tile(Identifier id) const
AtlasDetectorID(const std::string &name, const std::string &group)
bool is_lvl1_trig_towers(Identifier id) const
small class holding the starting hash value, the min eta and the number of phi bins of each region
Helper class for offline TT identifiers.
IdDictFieldImplementation m_region_impl
size_type m_tower_hash_max
int get_prev_in_eta(const IdentifierHash &id, IdentifierHash &prev) const
access to hashes for neighbours in eta – towers only (no extended) return == 0 for neighbours found
bool is_barrel_end(const Identifier id) const
Test wether given tower or layer is part of the EM barrel END.
size_type m_lvl1_region_index
MultiRange m_full_layer_range
int get_prev_in_phi(const IdentifierHash &id, IdentifierHash &prev) const
access to hashes for neighbours in phi – towers only (no extended) return == 0 for neighbours found
IdentifierHash tower_hash(Identifier towerId) const
create hash id from tower id
int phi_max(const Identifier regId) const
min value of phi index (-999 == failure)
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
int region(const Identifier id) const
return region according to :
std::vector< unsigned short > m_next_phi_vec
std::ranges::subrange< id_iterator > id_range
Type for range over identifiers.
id_range region_range() const
range over regions
void region_id_checks(int pos_neg_z, int sampling, int region) const
bool is_emb(const Identifier id) const
Test wether given tower or layer is part of the EM barrel.
size_type m_layer_hash_max
size_type m_DETZSIDE_INDEX
id_iterator tower_begin() const
begin iterator over towers
size_type m_region_hash_max
void layer_id_checks(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
IdDictFieldImplementation m_layer_impl
bool is_tile(const Identifier id) const
Test wether given tower or layer is part of the Tile Calorimeter.
int get_next_in_eta(const IdentifierHash &id, IdentifierHash &next) const
access to hashes for neighbours in eta – towers only (no extended) return == 0 for neighbours found
bool is_emec(const Identifier id) const
Test wether given tower or layer is part of the EM end-cap.
Identifier::size_type size_type
id_iterator region_begin() const
begin iterator over regions
IdDictFieldImplementation m_lvl1_impl
id_iterator layer_begin() const
begin iterators over layers
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)
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
bool is_fcal(const Identifier id) const
Test wether given tower or layer is part of the FCAL.
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
MultiRange m_full_region_range
id_iterator tower_end() const
end iterator over towers
IdDictFieldImplementation m_eta_impl
std::vector< unsigned short > m_next_eta_vec
size_type tower_hash_max() const
tower hash table max size
id_iterator region_end() const
end iterator over regions
id_iterator layer_end() const
end iterators over layers
IdContext layer_context() const
access to IdContext's which define which levels of fields are contained in the id
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
id_range layer_range() const
range over layers
IdDictFieldImplementation m_sampling_impl
std::vector< Identifier > m_tower_vec
int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
IdContext region_context() const
access to IdContext's which define which levels of fields are contained in the id
size_type m_SAMPLING_INDEX
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)
int layer(const Identifier id) const
return layer according to :
bool is_hec(const Identifier id) const
Test wether given tower or layer is part of the HEC.
std::vector< Identifier > m_region_vec
MultiRange m_full_tower_range
IdDictFieldImplementation m_phi_impl
IdDictFieldImplementation m_pnz_reg_impl
id_range tower_range() const
range over towers
IdentifierHash tower_hash_binary_search(Identifier towerId) const
create hash id from tower id – method NOT optimised, please use tower_hash() above
const IdDictDictionary * m_dict
size_type layer_hash_max() const
layer hash table max size
size_type region_hash_max() const
region hash table max size
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
std::vector< Identifier > m_layer_vec
std::vector< unsigned short > m_prev_eta_vec
std::vector< HashCalc > m_hash_calcs
int sampling(const Identifier id) const
return sampling according to :
IdDictFieldImplementation m_calo_impl
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
int eta(const Identifier id) const
return eta according to :
std::vector< unsigned short > m_prev_phi_vec
int get_next_in_phi(const IdentifierHash &id, IdentifierHash &next) const
access to hashes for neighbours in phi – towers only (no extended) return == 0 for neighbours found
IdContext tower_context() const
access to IdContext's which define which levels of fields are contained in the id
void tower_id_checks(int pos_neg_z, int sampling, int region, int eta, int phi) const
Identifier layer_id(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
build a layer identifier
int phi(const Identifier id) const
return phi according to :
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.