|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #include "boost/range/iterator_range.hpp"
80 int eta,
int phi,
bool checks )
const ;
86 int eta,
int phi,
bool checks )
const ;
154 typedef boost::iterator_range<id_iterator>
id_range;
410 int eta,
int phi,
bool checks )
const
414 m_calo_impl.pack (calo_field_value(),
result);
415 m_lvl1_impl.pack (pos_neg_z,
result);
416 m_sampling_impl.pack (sampling,
result);
417 m_region_impl.pack (region,
result);
423 tower_id_checks( pos_neg_z, sampling, region,
eta,
phi );
438 int eta,
int phi,
bool checks )
const
538 int layer,
bool checks )
const
746 #endif // CALOLVL1_ID_H
size_type layer_hash_max(void) const
layer hash table max size
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
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
std::vector< unsigned short > m_next_phi_vec
IdContext tower_context(void) const
access to IdContext's which define which levels of fields are contained in the id
int layer_max(const Identifier regId) const
max value of phi index (-999 == failure)
id_range region_range() const
range over regions
int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
Scalar phi() const
phi method
void layer_id_checks(int pos_neg_z, int sampling, int region, int eta, int phi, int layer) const
bool is_fcal(const Identifier id) const
Test wether given tower or layer is part of the FCAL.
std::vector< unsigned short > m_prev_eta_vec
IdContext region_context(void) const
access to IdContext's which define which levels of fields are contained in the id
IdDictFieldImplementation m_sampling_impl
Scalar eta() const
pseudorapidity method
int phi_max(const Identifier regId) const
min value of phi index (-999 == failure)
IdDictFieldImplementation m_phi_impl
int calo_field_value() const
IdDictFieldImplementation m_region_impl
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
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
std::vector< Identifier > m_region_vec
void pack(int value, Identifier &id) const
int region(const Identifier id) const
return region according to :
const IdDictDictionary * m_dict
bool is_barrel_end(const Identifier id) const
Test wether given tower or layer is part of the EM barrel END.
IdDictFieldImplementation m_layer_impl
Identifier region_id(int pos_neg_z, int sampling, int region) const
build a region (of towers) identifier
id_iterator layer_end() const
end iterators over layers
int unpack(Identifier id) const
Identifier manipulation methods.
IdContext layer_context(void) const
access to IdContext's which define which levels of fields are contained in the id
id_iterator tower_end() const
end iterator over towers
int layer(const Identifier id) const
return layer according to :
bool is_lvl1_trig_towers(Identifier id) const
bool is_hec(const Identifier id) const
Test wether given tower or layer is part of the HEC.
void reset(Identifier &id) const
id_iterator region_end() const
end iterator over regions
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
MultiRange m_full_layer_range
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 :
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
std::vector< unsigned short > m_next_eta_vec
IdDictFieldImplementation m_eta_impl
id_iterator region_begin() const
begin iterator over regions
std::vector< HashCalc > m_hash_calcs
small class holding the starting hash value, the min eta and the number of phi bins of each region
std::vector< unsigned short > m_prev_phi_vec
std::vector< Identifier > m_tower_vec
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
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
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)
bool is_tile(Identifier id) const
bool is_emb(const Identifier id) const
Test wether given tower or layer is part of the EM barrel.
size_type region_hash_max(void) const
region hash table max size
size_type m_DETZSIDE_INDEX
IdDictFieldImplementation m_lvl1_impl
size_type m_SAMPLING_INDEX
Helper class for offline TT identifiers.
A MultiRange combines several Ranges.
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)
size_type m_region_hash_max
IdDictFieldImplementation m_pnz_reg_impl
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_binary_search(Identifier towerId) const
create hash id from tower id – method NOT optimised, please use tower_hash() above
int eta(const Identifier id) const
return eta according to :
size_type m_lvl1_region_index
MultiRange m_full_region_range
void region_id_checks(int pos_neg_z, int sampling, int region) const
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
std::vector< Identifier > m_layer_vec
void tower_id_checks(int pos_neg_z, int sampling, int region, int eta, int phi) const
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
size_type tower_hash_max(void) const
tower hash table max size
id_iterator tower_begin() const
begin iterator over towers
int sampling(const Identifier id) const
return sampling according to :
IdDictFieldImplementation m_calo_impl
id_range tower_range() const
range over towers
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
int initLevelsFromDict(void)
IdentifierHash tower_hash(Identifier towerId) const
create hash id from tower id
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...
size_type m_layer_hash_max
MultiRange m_full_tower_range
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
bool is_tile(const Identifier id) const
Test wether given tower or layer is part of the Tile Calorimeter.
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
id_range layer_range() const
range over layers
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
id_iterator layer_begin() const
begin iterators over layers
macros to associate a CLID to a type
size_type m_tower_hash_max
This class provides an interface to generate or decode an identifier for the upper levels of the dete...