|
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef CALOIDENTIFIER_TILE_BASE_ID_H
16 #define CALOIDENTIFIER_TILE_BASE_ID_H
27 #include "boost/range/iterator_range.hpp"
85 int module,
bool checks)
const;
99 int sample,
bool checks )
const;
104 int pmt,
bool checks )
const;
120 int adc,
bool checks )
const;
128 int adc,
bool checks )
const;
211 typedef boost::iterator_range<id_iterator>
id_range;
249 const std::vector<Identifier>&
region_ids()
const;
250 const std::vector<Identifier>&
module_ids()
const;
251 const std::vector<Identifier>&
tower_ids()
const;
252 const std::vector<Identifier>&
cell_ids()
const;
253 const std::vector<Identifier>&
pmt_ids()
const;
254 const std::vector<Identifier>&
adc_ids()
const;
309 std::vector<IdentifierHash>& neighbourList)
const;
376 #endif // not CALOIDENTIFIER_TILE_BASE_ID_H
Identifier module_id(int section, int side, int module) const
IdDictFieldImplementation m_tower_impl
int eta_min(const Identifier &id) const
max values (-999 == failure)
bool is_tile_aux(const Identifier &id) const
int decode_section(int section) const
id_range pmt_range() const
bool is_positive(const Identifier &id) const
MultiRange m_full_adc_range
size_type cell_hash_max(void) const
id_iterator tower_begin() const
iterator over set of tower Identifiers
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
id_range reg_range() const
IdDictFieldImplementation m_section_impl
bool is_tile_gap(const Identifier &id) const
id_iterator region_begin() const
iterator over set of region Identifiers (synonyms for naming consistency)
IdContext cell_context(void) const
id for cells
id_iterator cell_end() const
IdDictFieldImplementation m_system_impl
int pmt(const Identifier &id) const
const std::vector< Identifier > & region_ids() const
provide access to id vectors, accessed via hash
id_range cell_range() const
IdDictFieldImplementation m_slar_impl
int side(const Identifier &id) const
id_iterator module_end() const
int sample(const Identifier &id) const
int encode_section(int section) const
size_type region_hash_max(void) const
hash tables max size
bool is_tile_extbarrel(const Identifier &id) const
int initLevelsFromDict(const std::string &group_name)
const std::vector< Identifier > & cell_ids() const
TileNeighbour m_neighbour
int tower(const Identifier &id) const
size_type module_hash_max(void) const
id_iterator cell_begin() const
iterator over set of cell Identifiers
int system(const Identifier &id) const
int unpack(Identifier id) const
Identifier manipulation methods.
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
IdDictFieldImplementation m_module_impl
bool is_high_gain(const Identifier &id) const
int region(int section, int side) const
IdContext module_context(void) const
id for modules
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &group_name)
initialization from the identifier dictionary
int get_field(const Identifier &id, size_type index) const
unpack one field from Identifier
Tile_Base_ID(const std::string &name, bool supercell)
Constructor.
size_type m_SECTION_INDEX
CaloIDHelper::HashGroup m_pmts
Identifier tile_det(int section) const
build identifier for any Tilecal section
Identifier::size_type size_type
size_type m_tile_region_index
Identifier region_id(int index) const
build single region, module, tower, cell, pmt, adc identifiers
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
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 adc(const Identifier &id) const
Identifier tile_gap() const
build identifier for Tile Gap detector (ITC + gap/crack scintillators)
bool is_tile_gapscin(const Identifier &id) const
int module(const Identifier &id) const
Identifier tower_id(int section, int side, int module, int tower) const
Base class to factor out code common among Calo ID helpers.
Identifier tile_system() const
build identifier for whole TileCal
This class factors out code common between TileID and Tile_SuperCell_ID.
id_range module_range() const
id_range adc_range() const
Identifier tile_extbarrel() const
build identifier for Tile Extended Barrel
IdContext tower_context(void) const
id for towers
int sampling(const Identifier &id) const
id_iterator tower_end() const
const std::vector< Identifier > & module_ids() const
int region_eta_max(const Identifier &id) const
id_iterator module_begin() const
iterator over set of module Identifiers
id_iterator reg_end() const
id_range region_range() 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)
id_iterator pmt_begin() const
iterator over set of pmt Identifiers
Identifier adc_id(const Identifier &cell_id, int pmt, int adc) const
A MultiRange combines several Ranges.
const std::string & name() const
Return the name for this helper.
id_iterator adc_begin() const
iterator over set of adc Identifiers
id_iterator adc_end() const
MultiRange m_full_module_range
CaloIDHelper::HashGroup m_towers
IdDictFieldImplementation m_pmt_impl
int phi_max(const Identifier &id) const
const std::vector< Identifier > & tower_ids() const
IdDictFieldImplementation m_adc_impl
Identifier tile_barrel() const
build identifier for Tile Barrel
int get_neighbours(const IdentifierHash &id, const LArNeighbours::neighbourOption &option, std::vector< IdentifierHash > &neighbourList) const
access to hashes for neighbours return == 0 for neighbours found option = prevInPhi,...
size_type tower_hash_max(void) const
int region_eta_min(const Identifier &id) const
IdContext adc_context(void) const
id for ADCs
size_type pmt_hash_max(void) const
IdDictFieldImplementation m_sample_impl
IdDictFieldImplementation m_side_impl
MultiRange m_full_cell_range
CaloIDHelper::HashGroup m_adcs
id_iterator region_end() const
CaloIDHelper::HashGroup m_modules
std::string to_string(const Identifier &id, int level=0) const
MultiRange m_full_pmt_range
int eta_max(const Identifier &id) const
const std::vector< Identifier > & adc_ids() const
Identifier pmt_id(const Identifier &any_id) const
id_iterator pmt_end() const
Base class to factor out code common among Calo ID helpers.
This class return all neighbours for given hash ID of the cell.
bool is_supercell(const Identifier &id) const
bool is_twosides(const Identifier &id) const
id_range tower_range() const
bool is_negative(const Identifier &id) const
IdContext pmt_context(void) const
id for PMTs
MultiRange m_full_tower_range
const std::vector< Identifier > & pmt_ids() const
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
IdContext region_context(void) const
access to IdContext's which define which levels of fields are contained in the id
size_type adc_hash_max(void) const
IdentifierHash cell_hash(const Identifier &cell_id) const
fast conversion from ID to hash for cells
MultiRange m_full_region_range
int section(const Identifier &id) const
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
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...
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Manage a list of identifiers.
bool is_tile_barrel(const Identifier &id) const
Test of an Identifier to see if it belongs to a particular part of the calorimeter.
Identifier cell_id(const Identifier &any_id) const
bool is_low_gain(const Identifier &id) const
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
macros to associate a CLID to a type
id_iterator reg_begin() const
iterator over set of region Identifiers