ATLAS Offline Software
Loading...
Searching...
No Matches
Tile_SuperCell_ID Class Reference

Helper class for Tile offline identifiers for supercells. More...

#include <Tile_SuperCell_ID.h>

Inheritance diagram for Tile_SuperCell_ID:
Collaboration diagram for Tile_SuperCell_ID:

Public Types

enum  SECTION {
  ONLINE = 0 , BARREL = 1 , EXTBAR = 2 , GAPDET = 3 ,
  AUXDET = 4 , SBARREL = 5 , SEXTBAR = 6 , SECTION_MASK = 3 ,
  SUPERCELL_MASK = 4
}
enum  SAMPLE {
  SAMP_A = 0 , SAMP_B = 1 , SAMP_BC = 1 , SAMP_C = 1 ,
  SAMP_D = 2 , SAMP_E = 3 , SAMP_X = 4
}
enum  SIDE { NEGATIVE = -1 , POSITIVE = 1 , TWOSIDES = 0 }
enum  GAIN { LOWGAIN = 0 , HIGHGAIN = 1 }
enum  SIZE { NSIDES = 2 , NSECTIONS = 3 , NREGIONS = NSIDES * NSECTIONS }
enum  { NOT_VALID_HASH = 64000 }
using id_iterator = std::vector<Identifier>::const_iterator
 Type for iterators over identifiers.
using id_range = std::ranges::subrange<id_iterator>
 Type for range over identifiers.
enum  { NOT_VALID =999999 }
typedef Identifier::size_type size_type
enum class  HelperType {
  Unimplemented = -1 , Silicon = 0 , Pixel , PLR ,
  SCT , TRT , LArEM , LArFCal ,
  LArFCalSuperCell , LArHEC , LArHEC_SuperCell , LARMiniFCal ,
  Tile , TileSuperCell , LArOnline , LArOnlineSuperCell ,
  LArElectrode , LArHVLine , TileHardware , TileTestbeam ,
  CaloCell , CaloSuperCell , CaloDM , CaloLvl1 ,
  GTower , JTower , Muon , LUCID ,
  LUCID_Hardware , Zdc , ZdcHardware , TT
}
 enum class for eventual final derived types of this class More...

Public Member Functions

 Tile_SuperCell_ID ()
virtual int initialize_from_dictionary (const IdDictMgr &dict_mgr)
 initialization from the identifier dictionary
Identifier tile_system () const
 build identifier for whole TileCal
Identifier tile_barrel () const
 build identifier for Tile Barrel
Identifier tile_extbarrel () const
 build identifier for Tile Extended Barrel
Identifier tile_gap () const
 build identifier for Tile Gap detector (ITC + gap/crack scintillators)
Identifier tile_det (int section) const
 build identifier for any Tilecal section
Identifier tile_det (int section, bool checks) const
Identifier region_id (int index) const
 build single region, module, tower, cell, pmt, adc identifiers
Identifier region_id (int section, int side) const
Identifier region_id (int section, int side, bool checks) const
Identifier region_id (const Identifier &any_id) const
Identifier region_id (const ExpandedIdentifier &exp_id) const
 Construct identifiers from ExpandedIdentifier's.
Identifier region_id (IdentifierHash hashId) const
 Return the region Identifier for a given hash code (no checking).
Identifier module_id (int section, int side, int module) const
Identifier module_id (int section, int side, int module, bool checks) const
Identifier module_id (const Identifier &any_id) const
bool module_id (const Identifier &region_id, int module, Identifier &module_id) const
 Construct identifiers with checking.
Identifier module_id (const ExpandedIdentifier &exp_id) const
Identifier tower_id (int section, int side, int module, int tower) const
Identifier tower_id (int section, int side, int module, int tower, bool checks) const
Identifier tower_id (const Identifier &any_id) const
bool tower_id (const Identifier &region_id, int module, int tower, Identifier &tower_id) const
Identifier tower_id (const ExpandedIdentifier &exp_id) const
Identifier cell_id (const Identifier &any_id) const
Identifier cell_id (int section, int side, int module, int tower, int sample) const
Identifier cell_id (int section, int side, int module, int tower, int sample, bool checks) const
Identifier cell_id (const IdentifierHash &hash_id) const
 fast conversion from hash to ID for cells
bool cell_id (const Identifier &region_id, int module, int tower, int sample, Identifier &cell_id) const
Identifier cell_id (const ExpandedIdentifier &exp_id) const
Identifier pmt_id (const Identifier &any_id) const
Identifier pmt_id (const Identifier &cell_id, int pmt) const
Identifier pmt_id (const Identifier &cell_id, int pmt, bool checks) const
Identifier pmt_id (int section, int side, int module, int tower, int sample, int pmt) const
Identifier pmt_id (int section, int side, int module, int tower, int sample, int pmt, bool checks) const
bool pmt_id (const Identifier &cell_id, int pmt, Identifier &pmt_id) const
Identifier pmt_id (const ExpandedIdentifier &exp_id) const
Identifier adc_id (const Identifier &cell_id, int pmt, int adc) const
Identifier adc_id (const Identifier &cell_id, int pmt, int adc, bool checks) const
Identifier adc_id (const Identifier &pmt_id, int adc) const
Identifier adc_id (const Identifier &pmt_id, int adc, bool checks) const
Identifier adc_id (int section, int side, int module, int tower, int sample, int pmt, int adc) const
Identifier adc_id (int section, int side, int module, int tower, int sample, int pmt, int adc, bool checks) const
bool adc_id (const Identifier &pmt_id, int adc, Identifier &adc_id) const
bool adc_id (const Identifier &cell_id, int pmt, int adc, Identifier &adc_id) const
Identifier adc_id (const ExpandedIdentifier &exp_id) const
IdentifierHash cell_hash (const Identifier &cell_id) const
 fast conversion from ID to hash for cells
bool is_tile_barrel (const Identifier &id) const
 Test of an Identifier to see if it belongs to a particular part of the calorimeter.
bool is_tile_extbarrel (const Identifier &id) const
bool is_tile_gap (const Identifier &id) const
bool is_tile_gapscin (const Identifier &id) const
bool is_tile_aux (const Identifier &id) const
bool is_negative (const Identifier &id) const
bool is_positive (const Identifier &id) const
bool is_twosides (const Identifier &id) const
bool is_low_gain (const Identifier &id) const
bool is_high_gain (const Identifier &id) const
bool is_supercell (const Identifier &id) const
int region (int section, int side) const
int region (const Identifier &id) const
int system (const Identifier &id) const
int section (const Identifier &id) const
int side (const Identifier &id) const
int tower (const Identifier &id) const
int sample (const Identifier &id) const
int pmt (const Identifier &id) const
int adc (const Identifier &id) const
int sampling (const Identifier &id) const
std::string to_string (const Identifier &id, int level=0) const
std::string to_string (const IdentifierHash &hash_id, int level=0) const
IdContext region_context () const
 access to IdContext's which define which levels of fields are contained in the id
IdContext module_context () const
 id for modules
IdContext tower_context () const
 id for towers
IdContext cell_context () const
 id for cells
IdContext pmt_context () const
 id for PMTs
IdContext adc_context () const
 id for ADCs
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)
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 initialize_base_from_dictionary (const IdDictMgr &dict_mgr, const std::string &group_name)
 initialization from the identifier dictionary
size_type region_hash_max () const
 hash tables max size
size_type module_hash_max () const
size_type tower_hash_max () const
size_type cell_hash_max () const
size_type pmt_hash_max () const
size_type adc_hash_max () const
id_iterator reg_begin () const
 iterator over set of region Identifiers
id_iterator reg_end () const
id_range reg_range () const
id_iterator region_begin () const
 iterator over set of region Identifiers (synonyms for naming consistency)
id_iterator region_end () const
id_range region_range () const
id_iterator module_begin () const
 iterator over set of module Identifiers
id_iterator module_end () const
id_range module_range () const
id_iterator tower_begin () const
 iterator over set of tower Identifiers
id_iterator tower_end () const
id_range tower_range () const
id_iterator cell_begin () const
 iterator over set of cell Identifiers
id_iterator cell_end () const
id_range cell_range () const
id_iterator pmt_begin () const
 iterator over set of pmt Identifiers
id_iterator pmt_end () const
id_range pmt_range () const
id_iterator adc_begin () const
 iterator over set of adc Identifiers
id_iterator adc_end () const
id_range adc_range () const
const std::vector< Identifier > & region_ids () const
 provide access to id vectors, accessed via hash
const std::vector< Identifier > & module_ids () const
const std::vector< Identifier > & tower_ids () const
const std::vector< Identifier > & cell_ids () const
const std::vector< Identifier > & pmt_ids () const
const std::vector< Identifier > & adc_ids () const
int eta_min (const Identifier &id) const
 max values (-999 == failure)
int eta_max (const Identifier &id) const
int region_eta_min (const Identifier &id) const
int region_eta_max (const Identifier &id) const
int phi_max (const Identifier &id) const
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, nextInPhi, prevInEta, nextInEta, ..., ..., all2D, prevInSamp, nextInSamp, ..., all3D
const HashGroupchannels () const
 Return the HashGroup for channels (cells).
const HashGroupregions () const
 Return the HashGroup for regions.
Identifier channel_id (IdentifierHash hashId) const
 Return the channel (cell) Identifier for a given hash code (no checking).
IdentifierHash channel_hash (Identifier channelId) const
 Convert a connected channel (cell) Identifier to a hash code.
IdentifierHash region_hash (Identifier regionId) const
 Convert a connected region Identifier to a hash code.
size_type channel_hash_max () const
 One more than the largest channel (cell) hash code.
IdContext channel_context () const
 Return the context for channels (cells).
const std::vector< const IdDictRegion * > & dictRegions () const
 Return the vector of IdDictRegion, accessed via region hash.
float etaGranularity (const IdentifierHash regHash) const
 Return the eta granularity of a region, or NOT_VALID.
float phiGranularity (const IdentifierHash regHash) const
 Return the phi granularity of a region, or NOT_VALID.
float eta0 (const IdentifierHash regHash) const
 Return the minimum eta of region, or NOT_VALID.
float phi0 (const IdentifierHash regHash) const
 Return the minimum phi of region, or NOT_VALID.
const std::string & name () const
 Return the name for this helper.
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.
strutors
virtual HelperType helper () const
 Type of helper, defaulted to 'Unimplemented'.
const std::string & group () const
 Group name for this helper.
Detector system ids
Identifier indet (void) const
 Detector systems:
Identifier lar (void) const
Identifier tile (void) const
Identifier muon (void) const
Identifier calo (void) const
Inner Detector subsystem ids
Identifier pixel (void) const
Identifier sct (void) const
Identifier trt (void) const
Identifier hgtd (void) const
Identifier lumi (void) const
LAr subsystem ids
Identifier lar_em (void) const
Identifier lar_hec (void) const
Identifier lar_fcal (void) const
Muon subsystem ids
Identifier mdt (void) const
Identifier csc (void) const
Identifier rpc (void) const
Identifier tgc (void) const
Identifier stgc (void) const
Identifier mm (void) const
level 1 and dead material ids
Identifier lar_lvl1 (void) const
Identifier lar_dm (void) const
Identifier tile_dm (void) const
Contexts to provide id length - e.g. for use in generic decoding
IdContext detsystem_context (void) const
 IdContext (indicates id length) for detector systems.
IdContext subdet_context (void) const
 IdContext (indicates id length) for sub-detector.
Initialization and version name
virtual std::string dictionaryVersion (void) const override
Generic printing of identifiers
void show (Identifier id, const IdContext *context=0, char sep='.') const
 Short print out of any identifier (optionally provide separation character - default is '.
std::string show_to_string (Identifier id, const IdContext *context=0, char sep='.') const
 or provide the printout in string form
void print (Identifier id, const IdContext *context=0) const
 Expanded print out of any identifier.
std::string print_to_string (Identifier id, const IdContext *context=0) const
 or provide the printout in string form
Test of an Identifier to see if it belongs to a particular detector (sub)system:
bool is_indet (Identifier id) const
bool is_lar (Identifier id) const
bool is_tile (Identifier id) const
bool is_muon (Identifier id) const
bool is_calo (Identifier id) const
bool is_lvl1_trig_towers (Identifier id) const
bool is_lvl1_online (Identifier id) const
bool is_pixel (Identifier id) const
bool is_sct (Identifier id) const
bool is_trt (Identifier id) const
bool is_hgtd (Identifier id) const
bool is_lumi (Identifier id) const
bool is_plr (Identifier id) const
bool is_lar_em (Identifier id) const
bool is_lar_hec (Identifier id) const
bool is_lar_fcal (Identifier id) const
bool is_lar_minifcal (Identifier id) const
bool is_lar_dm (Identifier id) const
 LAr/Tile dead material:
bool is_tile_dm (Identifier id) const
bool is_mdt (Identifier id) const
bool is_csc (Identifier id) const
bool is_tgc (Identifier id) const
bool is_rpc (Identifier id) const
bool is_stgc (Identifier id) const
bool is_mm (Identifier id) const
bool is_forward (Identifier id) const
bool is_alfa (Identifier id) const
bool is_bcm (Identifier id) const
bool is_lucid (Identifier id) const
bool is_zdc (Identifier id) const
Test of an Identifier to see if it belongs to a particular detector (sub)system (using expanded ids):
bool is_indet (const ExpandedIdentifier &id) const
bool is_lar (const ExpandedIdentifier &id) const
bool is_tile (const ExpandedIdentifier &id) const
bool is_muon (const ExpandedIdentifier &id) const
bool is_calo (const ExpandedIdentifier &id) const
bool is_pixel (const ExpandedIdentifier &id) const
bool is_sct (const ExpandedIdentifier &id) const
bool is_trt (const ExpandedIdentifier &id) const
bool is_hgtd (const ExpandedIdentifier &id) const
bool is_lumi (const ExpandedIdentifier &id) const
bool is_plr (const ExpandedIdentifier &id) const
bool is_lar_em (const ExpandedIdentifier &id) const
bool is_lar_hec (const ExpandedIdentifier &id) const
bool is_lar_fcal (const ExpandedIdentifier &id) const
bool is_lar_minifcal (const ExpandedIdentifier &id) const
bool is_mdt (const ExpandedIdentifier &id) const
bool is_csc (const ExpandedIdentifier &id) const
bool is_tgc (const ExpandedIdentifier &id) const
bool is_rpc (const ExpandedIdentifier &id) const
bool is_stgc (const ExpandedIdentifier &id) const
bool is_mm (const ExpandedIdentifier &id) const
Dictionary versioning: provide access to dictionary names and versions. Note that a helper may correspond to one or more id dictionary
const std::vector< std::string > & dict_names (void) const
 Dictionary names.
const std::vector< std::string > & file_names (void) const
 File names for subdet dictionaries.
const std::vector< std::string > & dict_tags (void) const
 Version tags for subdet dictionaries.
Checks are performed by default in debug compilation and NOT in optimized compilation. One can switch or query this mode for any idHelper with the following methods:
virtual bool do_checks (void) const override
 Checks are performed by default in debug compilation and NOT in optimized compilation.
virtual void set_do_checks (bool do_checks) override

Protected Member Functions

HashGroupchannels ()
 Return the HashGroup for channels (cells). non-const.
HashGroupregions ()
 Return the HashGroup for regions. non-const.
const IdDictDictionarydict () const
 Return the dictionary for this subdetector.
int fill_vec_of_dict_regions (const std::string &group_name="")
 Initialize the list of detector regions.

Private Member Functions

int eta_min (const Identifier &id, const IdContext &context) const
int eta_max (const Identifier &id, const IdContext &context) const
int decode_section (int section) const
int encode_section (int section) const
virtual int get_expanded_id (const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
 create expanded Identifier from Identifier (return == 0 for OK)
int get_field (const Identifier &id, size_type index) const
 unpack one field from Identifier
int initLevelsFromDict (const std::string &group_name)
int init_hashes ()
void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

unsigned m_supercell
size_type m_tile_region_index
size_type m_SYSTEM_INDEX
size_type m_SECTION_INDEX
size_type m_SIDE_INDEX
size_type m_MODULE_INDEX
size_type m_TOWER_INDEX
size_type m_SAMPLE_INDEX
size_type m_PMT_INDEX
size_type m_ADC_INDEX
IdDictFieldImplementation m_system_impl
IdDictFieldImplementation m_section_impl
IdDictFieldImplementation m_side_impl
IdDictFieldImplementation m_module_impl
IdDictFieldImplementation m_tower_impl
IdDictFieldImplementation m_sample_impl
IdDictFieldImplementation m_pmt_impl
IdDictFieldImplementation m_adc_impl
IdDictFieldImplementation m_slar_impl
MultiRange m_full_region_range
MultiRange m_full_module_range
MultiRange m_full_tower_range
MultiRange m_full_cell_range
MultiRange m_full_pmt_range
MultiRange m_full_adc_range
CaloIDHelper::HashGroup m_modules
CaloIDHelper::HashGroup m_towers
CaloIDHelper::HashGroup m_pmts
CaloIDHelper::HashGroup m_adcs
TileNeighbour m_neighbour
std::string m_name
 Name of this helper.
HashGroup m_channels
 Group of channel (cell) Identifiers.
HashGroup m_regions
 Group of region Identifiers.
const IdDictDictionarym_dict
 The dictionary for this helper.
std::vector< const IdDictRegion * > m_vecOfDictRegions
 List of IdDictRegion objects.
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)

neighbours are initialized by default. One can switch or query this mode with the following methods:

virtual bool do_neighbours (void) const override
 Neighbour initialization is performed by default One can switch or query this mode for any idHelper with the following method:
virtual void set_do_neighbours (bool do_neighbours) override
std::string m_dict_version
bool m_is_initialized_from_dict {}
size_type m_DET_INDEX {999}
size_type m_SUBDET_INDEX {999}
size_type m_MUON_SUBDET_INDEX {999}
int m_INDET_ID {2}
int m_LAR_ID {4}
int m_TILE_ID {5}
int m_MUON_ID {7}
int m_CALO_ID {10}
int m_PIXEL_ID {1}
int m_SCT_ID {2}
int m_TRT_ID {3}
int m_HGTD_ID {4}
int m_LUMI_ID {3}
int m_LUMI_PLR_ID {1}
int m_LAR_EM_ID {1}
int m_LAR_HEC_ID {2}
int m_LAR_FCAL_ID {3}
int m_LAR_FCAL_MODULE_INDEX {999}
int m_MDT_ID {0}
int m_CSC_ID {1}
int m_RPC_ID {2}
int m_TGC_ID {3}
int m_STGC_ID {4}
int m_MM_ID {5}
int m_FWD_ID {13}
int m_ALFA_ID {1}
int m_BCM_ID {3}
int m_LUCID_ID {5}
int m_ZDC_ID {7}
bool m_isHighLuminosityLHC {}
Range::field m_lvl1_field
Range::field m_lvl1_onl_field
Range::field m_lar_dm_field
Range::field m_tile_dm_field
const IdDictDictionarym_atlas_dict {}
const IdDictDictionarym_indet_dict {}
const IdDictDictionarym_lar_dict {}
const IdDictDictionarym_tile_dict {}
const IdDictDictionarym_muon_dict {}
const IdDictDictionarym_calo_dict {}
const IdDictDictionarym_fwd_dict {}
AtlasDetectorIDHelperm_helper {}
IdDictFieldImplementation m_det_impl
IdDictFieldImplementation m_indet_part_impl
IdDictFieldImplementation m_calo_side_impl
IdDictFieldImplementation m_lar_part_impl
IdDictFieldImplementation m_lar_fcal_module_impl
IdDictFieldImplementation m_muon_station_name_impl
IdDictFieldImplementation m_muon_mdt_impl
IdDictFieldImplementation m_muon_rpc_impl
IdDictFieldImplementation m_fwd_part_impl
std::vector< unsigned int > m_muon_tech_bits
virtual void setDictVersion (const IdDictMgr &dict_mgr, const std::string &name) override
std::string to_range (const ExpandedIdentifier &id) const
std::string fix_barrel_ec (const std::string &barrel_ec) const
ExpandedIdentifier indet_exp (void) const
 Detector systems:
ExpandedIdentifier lar_exp (void) const
ExpandedIdentifier tile_exp (void) const
ExpandedIdentifier muon_exp (void) const
ExpandedIdentifier calo_exp (void) const
ExpandedIdentifier fwd_exp (void) const
ExpandedIdentifier pixel_exp (void) const
 Inner Detector:
ExpandedIdentifier sct_exp (void) const
ExpandedIdentifier trt_exp (void) const
ExpandedIdentifier hgtd_exp (void) const
ExpandedIdentifier lumi_exp (void) const
ExpandedIdentifier lar_em_exp (void) const
 LAr.
ExpandedIdentifier lar_hec_exp (void) const
ExpandedIdentifier lar_fcal_exp (void) const
ExpandedIdentifier alfa_exp (void) const
 Forward.
ExpandedIdentifier bcm_exp (void) const
ExpandedIdentifier lucid_exp (void) const
ExpandedIdentifier zdc_exp (void) const
int indet_field_value () const
 Provide efficient access to individual field values, for subclass idhelpers.
int lar_field_value () const
int tile_field_value () const
int muon_field_value () const
int calo_field_value () const
int pixel_field_value () const
int sct_field_value () const
int trt_field_value () const
int hgtd_field_value () const
int lumi_field_value () const
int plr_field_value () const
int lar_em_field_value () const
int lar_hec_field_value () const
int lar_fcal_field_value () const
int mdt_field_value () const
int csc_field_value () const
int rpc_field_value () const
int tgc_field_value () const
int stgc_field_value () const
int mm_field_value () const
int forward_field_value () const
int alfa_field_value () const
int bcm_field_value () const
int lucid_field_value () const
int zdc_field_value () const
int register_dict_tag (const IdDictMgr &dict_mgr, const std::string &dict_name)
 Register the file and tag names for a particular IdDict dictionary.
bool reinitialize (const IdDictMgr &dict_mgr)
 Test whether an idhelper should be reinitialized based on the change of tags.
enum  ID { ATLAS_ID = static_cast<Identifier::value_type>(0) , MAX_BIT = Identifier::MAX_BIT , PIXEL_MASK = static_cast<Identifier::value_type>(0xFF) , ALL_BITS = Identifier::ALL_BITS }
std::string m_group
 Group name.
bool m_do_checks {}
 Flag for subclasses to know whether or not to perform checks.
bool m_do_neighbours {true}
 Flag for subclasses to know whether or not to perform neighbour initialization.
std::vector< std::string > m_dict_names
 List of dictionary names used by this helper.
std::vector< std::string > m_file_names
 List of dictionary file names used by this helper.
std::vector< std::string > m_dict_tags
 List of dictionary versions used by this helper.

Detailed Description

Helper class for Tile offline identifiers for supercells.

This class provides an interface to generate an identifier or a range for the Tile Calorimeter detector subsystem.

Definition and the range of values for the elements of the identifier:


 element     range       meaning
 -------     -----       -------

 section     1 to 2      section number  ( 1 = Barrel
                                           2 = Extended Barrel )
                          internally, these are stored as 5 and 6,
                          to distinguish the supercell case.
 side       -1 to 1      -1 = negative eta, 1 = positive eta, 0 = undefined (both sides) 
 module      0 to 63     module number by phi
 tower(eta)  0 to 15     0-15 = tower number by pseudorapidity with 0.1 increment in eta
                         Attention! in PhysTDR data last tower is 16
 sample      0 or 2      0 = sum over samplings, 2 = D only

Total is 2752, of which 2048 are the tower sums and 704 are the 
D layer cells.  Note that the D layer cells both contribute to the
tower sums and are also represented separately.

Definition at line 59 of file Tile_SuperCell_ID.h.

Member Typedef Documentation

◆ id_iterator

using Tile_Base_ID::id_iterator = std::vector<Identifier>::const_iterator
inherited

Type for iterators over identifiers.

Definition at line 208 of file Tile_Base_ID.h.

◆ id_range

using Tile_Base_ID::id_range = std::ranges::subrange<id_iterator>
inherited

Type for range over identifiers.

Definition at line 210 of file Tile_Base_ID.h.

◆ size_type

typedef Identifier::size_type CaloIDHelper::size_type
inherited

Definition at line 39 of file CaloIDHelper.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
NOT_VALID 

Definition at line 36 of file CaloIDHelper.h.

36{ NOT_VALID=999999 };

◆ anonymous enum

anonymous enum
inherited
Enumerator
NOT_VALID_HASH 

Definition at line 263 of file Tile_Base_ID.h.

263{NOT_VALID_HASH = 64000};

◆ GAIN

enum Tile_Base_ID::GAIN
inherited
Enumerator
LOWGAIN 
HIGHGAIN 

Definition at line 56 of file Tile_Base_ID.h.

56{ LOWGAIN = 0, HIGHGAIN = 1 };

◆ HelperType

enum class AtlasDetectorID::HelperType
stronginherited

enum class for eventual final derived types of this class

Enumerator
Unimplemented 
Silicon 
Pixel 
PLR 
SCT 
TRT 
LArEM 
LArFCal 
LArFCalSuperCell 
LArHEC 
LArHEC_SuperCell 
LARMiniFCal 
Tile 
TileSuperCell 
LArOnline 
LArOnlineSuperCell 
LArElectrode 
LArHVLine 
TileHardware 
TileTestbeam 
CaloCell 
CaloSuperCell 
CaloDM 
CaloLvl1 
GTower 
JTower 
Muon 
LUCID 
LUCID_Hardware 
Zdc 
ZdcHardware 
TT 

Definition at line 55 of file AtlasDetectorID.h.

55 {
56 Unimplemented = -1,
57 Silicon = 0,
58 Pixel, PLR, SCT, TRT,
59 //inherits from CaloIDHelper
60 LArEM, LArFCal, LArFCalSuperCell,
61 LArHEC, LArHEC_SuperCell, LARMiniFCal,
62 Tile, TileSuperCell,
63 //
64 //inherit from LArOnlineId
65 LArOnline, LArOnlineSuperCell,
66 //
67 LArElectrode, LArHVLine,
68 TileHardware, TileTestbeam,
69 CaloCell, CaloSuperCell,
70 CaloDM, CaloLvl1,
71 //inherit from JGTowerBase
72 GTower, JTower,
73 //
74 Muon,
75 LUCID, LUCID_Hardware,
76 Zdc,ZdcHardware,
77 TT
78 };
@ TRT
Definition RegSelEnums.h:26
@ SCT
Definition RegSelEnums.h:25
@ Pixel
Definition DetType.h:13
constexpr std::initializer_list< int > Tile
Definition HIEventDefs.h:70
Muon_v1 Muon
Reference the current persistent version:

◆ ID

enum AtlasDetectorID::ID
privateinherited
Enumerator
ATLAS_ID 
MAX_BIT 
PIXEL_MASK 
ALL_BITS 

Definition at line 373 of file AtlasDetectorID.h.

373 { ATLAS_ID = static_cast<Identifier::value_type>(0),
374 MAX_BIT = Identifier::MAX_BIT,
375 // mask to distinguish a pixel id from lvl1 id (bit 1 set)
376 PIXEL_MASK = static_cast<Identifier::value_type>(0xFF),

◆ SAMPLE

enum Tile_Base_ID::SAMPLE
inherited
Enumerator
SAMP_A 
SAMP_B 
SAMP_BC 
SAMP_C 
SAMP_D 
SAMP_E 
SAMP_X 

Definition at line 52 of file Tile_Base_ID.h.

52 { SAMP_A = 0,
53 SAMP_B = 1, SAMP_BC = 1, SAMP_C = 1, // synonyms
54 SAMP_D = 2, SAMP_E = 3, SAMP_X = 4 };

◆ SECTION

enum Tile_Base_ID::SECTION
inherited
Enumerator
ONLINE 
BARREL 
EXTBAR 
GAPDET 
AUXDET 
SBARREL 
SEXTBAR 
SECTION_MASK 
SUPERCELL_MASK 

Definition at line 47 of file Tile_Base_ID.h.

◆ SIDE

enum Tile_Base_ID::SIDE
inherited
Enumerator
NEGATIVE 
POSITIVE 
TWOSIDES 

Definition at line 55 of file Tile_Base_ID.h.

◆ SIZE

enum Tile_Base_ID::SIZE
inherited
Enumerator
NSIDES 
NSECTIONS 
NREGIONS 

Definition at line 57 of file Tile_Base_ID.h.

Constructor & Destructor Documentation

◆ Tile_SuperCell_ID()

Tile_SuperCell_ID::Tile_SuperCell_ID ( )

Definition at line 23 of file Tile_SuperCell_ID.cxx.

24 : Tile_Base_ID ("Tile_SuperCell_ID", "tile_supercell", true)
25{
26}
Tile_Base_ID(const std::string &name, const std::string &group, bool supercell)
Constructor.

Member Function Documentation

◆ adc()

int Tile_Base_ID::adc ( const Identifier & id) const
inherited

Definition at line 188 of file Tile_Base_ID.cxx.

189{
190 return get_field(id,m_ADC_INDEX);
191}
int get_field(const Identifier &id, size_type index) const
unpack one field from Identifier
size_type m_ADC_INDEX

◆ adc_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::adc_begin ( ) const
inherited

iterator over set of adc Identifiers

Definition at line 1393 of file Tile_Base_ID.cxx.

1394{
1395 return m_adcs.begin();
1396}
CaloIDHelper::HashGroup m_adcs

◆ adc_context()

IdContext Tile_Base_ID::adc_context ( ) const
inherited

id for ADCs

Definition at line 1073 of file Tile_Base_ID.cxx.

1074{
1075 return {0, m_ADC_INDEX};
1076}

◆ adc_end()

Tile_Base_ID::id_iterator Tile_Base_ID::adc_end ( ) const
inherited

Definition at line 1398 of file Tile_Base_ID.cxx.

1399{
1400 return m_adcs.end();
1401}

◆ adc_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::adc_hash_max ( ) const
inherited

Definition at line 1313 of file Tile_Base_ID.cxx.

1314{
1315 return m_adcs.hash_max();
1316}

◆ adc_id() [1/9]

Identifier Tile_Base_ID::adc_id ( const ExpandedIdentifier & exp_id) const
inherited

Definition at line 1479 of file Tile_Base_ID.cxx.

1480{
1481 return this->adc_id (exp_id[m_SECTION_INDEX],
1482 exp_id[m_SIDE_INDEX],
1483 exp_id[m_MODULE_INDEX],
1484 exp_id[m_TOWER_INDEX],
1485 exp_id[m_SAMPLE_INDEX],
1486 exp_id[m_PMT_INDEX],
1487 exp_id[m_ADC_INDEX]);
1488}
size_type m_MODULE_INDEX
size_type m_PMT_INDEX
Identifier adc_id(const Identifier &cell_id, int pmt, int adc) const
size_type m_SECTION_INDEX
size_type m_SAMPLE_INDEX
size_type m_TOWER_INDEX
size_type m_SIDE_INDEX

◆ adc_id() [2/9]

Identifier Tile_Base_ID::adc_id ( const Identifier & cell_id,
int pmt,
int adc ) const
inherited

Definition at line 804 of file Tile_Base_ID.cxx.

806{
807 return adc_id (cell_id, pmt, adc, do_checks());
808}
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
int adc(const Identifier &id) const
Identifier cell_id(const Identifier &any_id) const
int pmt(const Identifier &id) const

◆ adc_id() [3/9]

Identifier Tile_Base_ID::adc_id ( const Identifier & cell_id,
int pmt,
int adc,
bool checks ) const
inherited

Definition at line 756 of file Tile_Base_ID.cxx.

758{
759 Identifier result;
760
761 int id[8];
762 id[0] = pmt;
763 id[1] = adc;
764
765 Identifier compactId(cell_id);
766 if (!dict()->pack32(id, m_PMT_INDEX, m_ADC_INDEX, m_tile_region_index, compactId)) {
767 result = compactId;
768 }
769 else {
770 std::string errorMessage = "Tile_Base_ID::adc_id(cell_id,pmt,adc) could not pack ID: "
771 + cell_id.getString() ;
772 throw TileID_Exception(errorMessage , 1);
773 }
774
775 if(checks) {
776
777 // Check that id is within allowed range
778
779 // Fill expanded id
780 ExpandedIdentifier expId;
781
782 IdContext context = cell_context();
783 if (get_expanded_id(result, expId, &context)) {
784 std::string errorMessage = "Tile_Base_ID::adc_id(cell_id,pmt,adc) result is not OK: ID = "
785 + result.getString() ;
786 throw TileID_Exception(errorMessage , 1);
787
788 // region_id.show();
789 }
790
791 expId << pmt << adc;
792
793 if (!m_full_adc_range.match(expId)) {
794 std::string errorMessage = "Tile_Base_ID::adc_id() result is not OK: ID, range = "
795 + std::string(expId) + " , " + (std::string)m_full_region_range;
796 throw TileID_Exception(errorMessage , 1);
797 }
798 }
799
800 return result;
801}
const IdDictDictionary * dict() const
Return the dictionary for this subdetector.
MultiRange m_full_adc_range
IdContext cell_context() const
id for cells
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
size_type m_tile_region_index
MultiRange m_full_region_range

◆ adc_id() [4/9]

bool Tile_Base_ID::adc_id ( const Identifier & cell_id,
int pmt,
int adc,
Identifier & adc_id ) const
inherited

Definition at line 1004 of file Tile_Base_ID.cxx.

1006{
1007 ExpandedIdentifier id;
1008 IdContext context = cell_context();
1009 get_expanded_id(cell_id, id, &context);
1010 id << pmt << adc;
1011 if (!m_full_adc_range.match(id)) {
1012 return false;
1013 }
1014
1015 Identifier compactId(0);
1016 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
1017 adc_id = compactId;
1018 }
1019 return true;
1020}

◆ adc_id() [5/9]

Identifier Tile_Base_ID::adc_id ( const Identifier & pmt_id,
int adc ) const
inherited

Definition at line 858 of file Tile_Base_ID.cxx.

860{
861 return adc_id (pmt_id, adc, do_checks());
862}
Identifier pmt_id(const Identifier &any_id) const

◆ adc_id() [6/9]

Identifier Tile_Base_ID::adc_id ( const Identifier & pmt_id,
int adc,
bool checks ) const
inherited

Definition at line 811 of file Tile_Base_ID.cxx.

813{
814 Identifier result;
815
816 int id[8];
817 id[0] = adc;
818
819 Identifier compactId(pmt_id);
820 if (!dict()->pack32(id, m_ADC_INDEX, m_ADC_INDEX, m_tile_region_index, compactId)) {
821 result = compactId;
822 }
823 else {
824 std::string errorMessage = "Tile_Base_ID::adc_id(pmt_id,adc) could not pack ID: "
825 + pmt_id.getString() ;
826 throw TileID_Exception(errorMessage , 1);
827 }
828
829 if(checks) {
830
831 // Check that id is within allowed range
832
833 // Fill expanded id
834 ExpandedIdentifier expId;
835
836 IdContext context = pmt_context();
837 if (get_expanded_id(result, expId, &context)) {
838 std::string errorMessage = "Tile_Base_ID::adc_id(pmt_id,adc) result is not OK: ID = "
839 + result.getString() ;
840 throw TileID_Exception(errorMessage , 1);
841
842 // region_id.show();
843 }
844
845 expId << adc;
846
847 if (!m_full_adc_range.match(expId)) {
848 std::string errorMessage = "Tile_Base_ID::adc_id() result is not OK: ID, range = "
849 + std::string(expId) + " , " + (std::string)m_full_region_range;
850 throw TileID_Exception(errorMessage , 1);
851 }
852 }
853
854 return result;
855}
IdContext pmt_context() const
id for PMTs

◆ adc_id() [7/9]

bool Tile_Base_ID::adc_id ( const Identifier & pmt_id,
int adc,
Identifier & adc_id ) const
inherited

Definition at line 986 of file Tile_Base_ID.cxx.

988{
989 ExpandedIdentifier id;
990 IdContext context = pmt_context();
991 get_expanded_id(pmt_id, id, &context);
992 id << adc;
993 if (!m_full_adc_range.match(id)) {
994 return false;
995 }
996
997 Identifier compactId(0);
998 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
999 adc_id = compactId;
1000 }
1001 return true;
1002}

◆ adc_id() [8/9]

Identifier Tile_Base_ID::adc_id ( int section,
int side,
int module,
int tower,
int sample,
int pmt,
int adc ) const
inherited

Definition at line 906 of file Tile_Base_ID.cxx.

909{
910 return adc_id (section, side, module, tower, sample, pmt, adc, do_checks());
911}
int sample(const Identifier &id) const
int tower(const Identifier &id) const
int side(const Identifier &id) const
int section(const Identifier &id) const

◆ adc_id() [9/9]

Identifier Tile_Base_ID::adc_id ( int section,
int side,
int module,
int tower,
int sample,
int pmt,
int adc,
bool checks ) const
inherited

Definition at line 865 of file Tile_Base_ID.cxx.

869{
870 if(checks) {
871
872 // Check that id is within allowed range
873
874 // Fill expanded id
875 ExpandedIdentifier expId(tile_exp());
876 expId << encode_section (section) << side << module << tower << sample << pmt << adc;
877
878 if (!m_full_adc_range.match(expId)) {
879 std::string errorMessage = "Tile_Base_ID::adc_id() result is not OK: ID, range = "
880 + std::string(expId) + " , " + (std::string)m_full_region_range;
881 throw TileID_Exception(errorMessage , 1);
882 }
883 }
884
885 Identifier result;
886
887 int id[8];
890 id[m_SIDE_INDEX] = side;
891 id[m_MODULE_INDEX] = module;
892 id[m_TOWER_INDEX] = tower;
894 id[m_PMT_INDEX] = pmt;
895 id[m_ADC_INDEX] = adc;
896
897 Identifier compactId(0);
898 if (!dict()->pack32(id, 0, m_ADC_INDEX, m_tile_region_index, compactId)) {
899 result = compactId;
900 }
901
902 return result;
903}
ExpandedIdentifier tile_exp(void) const
int tile_field_value() const
int encode_section(int section) const
size_type m_SYSTEM_INDEX

◆ adc_ids()

const std::vector< Identifier > & Tile_Base_ID::adc_ids ( ) const
inherited

Definition at line 1433 of file Tile_Base_ID.cxx.

1434{
1435 return m_adcs.ids();
1436}

◆ adc_range()

Tile_Base_ID::id_range Tile_Base_ID::adc_range ( ) const
inherited

Definition at line 1403 of file Tile_Base_ID.cxx.

1404{
1405 return m_adcs.range();
1406}

◆ alfa_exp()

ExpandedIdentifier AtlasDetectorID::alfa_exp ( void ) const
protectedinherited

Forward.

Definition at line 1140 of file AtlasDetectorID.cxx.

1141{
1142 ExpandedIdentifier result(fwd_exp());
1143 return (result << m_ALFA_ID);
1144}
ExpandedIdentifier fwd_exp(void) const

◆ alfa_field_value()

int AtlasDetectorID::alfa_field_value ( ) const
inlineprotectedinherited

Definition at line 526 of file AtlasDetectorID.h.

526{return (m_ALFA_ID);}

◆ bcm_exp()

ExpandedIdentifier AtlasDetectorID::bcm_exp ( void ) const
protectedinherited

Definition at line 1147 of file AtlasDetectorID.cxx.

1148{
1149 ExpandedIdentifier result(fwd_exp());
1150 return (result << m_BCM_ID);
1151}

◆ bcm_field_value()

int AtlasDetectorID::bcm_field_value ( ) const
inlineprotectedinherited

Definition at line 528 of file AtlasDetectorID.h.

528{return (m_BCM_ID);}

◆ calo()

Identifier AtlasDetectorID::calo ( void ) const
inherited

Definition at line 85 of file AtlasDetectorID.cxx.

85 {
86 Identifier result{0};
87 // Pack field
88 m_det_impl.pack(calo_field_value(), result);
89 return result;
90}
IdDictFieldImplementation m_det_impl
int calo_field_value() const

◆ calo_exp()

ExpandedIdentifier AtlasDetectorID::calo_exp ( void ) const
protectedinherited

Definition at line 1070 of file AtlasDetectorID.cxx.

1071{
1072 ExpandedIdentifier result;
1073 return (result << m_CALO_ID);
1074}

◆ calo_field_value()

int AtlasDetectorID::calo_field_value ( ) const
inlineprotectedinherited

Definition at line 476 of file AtlasDetectorID.h.

476{return (m_CALO_ID);}

◆ cell_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::cell_begin ( ) const
inherited

iterator over set of cell Identifiers

Definition at line 1363 of file Tile_Base_ID.cxx.

1364{
1365 return channels().begin();
1366}
id_iterator begin() const
Return a begin iterator over the group's Identifiers.
const HashGroup & channels() const
Return the HashGroup for channels (cells).

◆ cell_context()

IdContext Tile_Base_ID::cell_context ( ) const
inherited

id for cells

Definition at line 1061 of file Tile_Base_ID.cxx.

1062{
1063 return {0, m_SAMPLE_INDEX};
1064}

◆ cell_end()

Tile_Base_ID::id_iterator Tile_Base_ID::cell_end ( ) const
inherited

Definition at line 1368 of file Tile_Base_ID.cxx.

1369{
1370 return channels().end();
1371}
id_iterator end() const
Return an end iterator over the group's Identifiers.

◆ cell_hash()

IdentifierHash Tile_Base_ID::cell_hash ( const Identifier & cell_id) const
inherited

fast conversion from ID to hash for cells

Definition at line 1032 of file Tile_Base_ID.cxx.

1033{
1034 IdentifierHash ret = 0;
1035 if (channels().get_hash (id, ret) == 0)
1036 return ret;
1037
1038 std::string errorMessage = "Tile_Base_ID::cell_hash(cell_id) - cell_id out of range ";
1039 throw TileID_Exception(errorMessage , 1);
1040}
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)

◆ cell_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::cell_hash_max ( ) const
inherited

Definition at line 1303 of file Tile_Base_ID.cxx.

1304{
1305 return channels().hash_max();
1306}
size_type hash_max() const
Return one more than the largest hash code.

◆ cell_id() [1/6]

Identifier Tile_Base_ID::cell_id ( const ExpandedIdentifier & exp_id) const
inherited

Definition at line 1460 of file Tile_Base_ID.cxx.

1461{
1462 return this->cell_id (exp_id[m_SECTION_INDEX],
1463 exp_id[m_SIDE_INDEX],
1464 exp_id[m_MODULE_INDEX],
1465 exp_id[m_TOWER_INDEX],
1466 exp_id[m_SAMPLE_INDEX]);
1467}

◆ cell_id() [2/6]

Identifier Tile_Base_ID::cell_id ( const Identifier & any_id) const
inherited

Definition at line 583 of file Tile_Base_ID.cxx.

584{
585 Identifier result;
586 // extract with the dictionary
587 Identifier id;
588 if(!dict()->copy(any_id, 0, 0, m_SAMPLE_INDEX, m_tile_region_index, id)) {
589 result = id;
590 }
591 return (result);
592}
bool copy
Definition calibdata.py:26

◆ cell_id() [3/6]

bool Tile_Base_ID::cell_id ( const Identifier & region_id,
int module,
int tower,
int sample,
Identifier & cell_id ) const
inherited

Definition at line 949 of file Tile_Base_ID.cxx.

952{
953 ExpandedIdentifier id;
954 IdContext context = region_context();
955 get_expanded_id(region_id, id, &context);
956 id << module << tower << sample;
957 if (!m_full_cell_range.match(id)) {
958 return false;
959 }
960
961 Identifier compactId(0);
962 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
963 cell_id = compactId;
964 }
965 return true;
966}
IdContext region_context() const
access to IdContext's which define which levels of fields are contained in the id
Identifier region_id(int index) const
build single region, module, tower, cell, pmt, adc identifiers
MultiRange m_full_cell_range

◆ cell_id() [4/6]

Identifier Tile_Base_ID::cell_id ( const IdentifierHash & hash_id) const
inherited

fast conversion from hash to ID for cells

Definition at line 1022 of file Tile_Base_ID.cxx.

1023{
1024 if (hash_id < channels().hash_max()) {
1025 return channel_id (hash_id);
1026 } else {
1027 std::string errorMessage = "Tile_Base_ID::cell_id(hash_id) - hash_id out of range ";
1028 throw TileID_Exception(errorMessage , 1);
1029 }
1030}
Identifier channel_id(IdentifierHash hashId) const
Return the channel (cell) Identifier for a given hash code (no checking).

◆ cell_id() [5/6]

Identifier Tile_Base_ID::cell_id ( int section,
int side,
int module,
int tower,
int sample ) const
inherited

Definition at line 634 of file Tile_Base_ID.cxx.

637{
638 return cell_id (section, side, module, tower, sample, do_checks());
639}

◆ cell_id() [6/6]

Identifier Tile_Base_ID::cell_id ( int section,
int side,
int module,
int tower,
int sample,
bool checks ) const
inherited

Definition at line 595 of file Tile_Base_ID.cxx.

599{
600 if(checks) {
601
602 // Check that id is within allowed range
603
604 // Fill expanded id
605 ExpandedIdentifier expId(tile_exp());
606 expId << encode_section (section) << side << module << tower << sample;
607
608 if (!m_full_cell_range.match(expId)) {
609 std::string errorMessage = "Tile_Base_ID::cell_id() result is not OK: ID, range = "
610 + std::string(expId) + " , " + (std::string)m_full_cell_range;
611 throw TileID_Exception(errorMessage , 1);
612 }
613 }
614
615 Identifier result;
616
617 int id[8];
620 id[m_SIDE_INDEX] = side;
621 id[m_MODULE_INDEX] = module;
622 id[m_TOWER_INDEX] = tower;
624
625 Identifier compactId(0);
626 if (!dict()->pack32(id, 0, m_SAMPLE_INDEX, m_tile_region_index, compactId)) {
627 result = compactId;
628 }
629
630 return result;
631}

◆ cell_ids()

const std::vector< Identifier > & Tile_Base_ID::cell_ids ( ) const
inherited

Definition at line 1423 of file Tile_Base_ID.cxx.

1424{
1425 return channels().ids();
1426}
const std::vector< Identifier > & ids() const
Return a vector of all Identifiers for this group.

◆ cell_range()

Tile_Base_ID::id_range Tile_Base_ID::cell_range ( ) const
inherited

Definition at line 1373 of file Tile_Base_ID.cxx.

1374{
1375 return channels().range();
1376}
id_range range() const
Return an iterator range over the group's Identifiers.

◆ channel_context()

IdContext CaloIDHelper::channel_context ( ) const
inherited

Return the context for channels (cells).

◆ channel_hash()

IdentifierHash CaloIDHelper::channel_hash ( Identifier channelId) const
inherited

Convert a connected channel (cell) Identifier to a hash code.

Some subdetector helpers may override this with a faster version.

◆ channel_hash_max()

size_type CaloIDHelper::channel_hash_max ( ) const
inherited

One more than the largest channel (cell) hash code.

◆ channel_id()

Identifier CaloIDHelper::channel_id ( IdentifierHash hashId) const
inherited

Return the channel (cell) Identifier for a given hash code (no checking).

◆ channels() [1/2]

HashGroup & CaloIDHelper::channels ( )
protectedinherited

Return the HashGroup for channels (cells). non-const.

◆ channels() [2/2]

const HashGroup & CaloIDHelper::channels ( ) const
inherited

Return the HashGroup for channels (cells).

◆ csc()

Identifier AtlasDetectorID::csc ( void ) const
inherited

Definition at line 42 of file AtlasDetectorID.cxx.

42 {
43 return Identifier{};
44}

◆ csc_field_value()

int AtlasDetectorID::csc_field_value ( ) const
inlineprotectedinherited

Definition at line 509 of file AtlasDetectorID.h.

509{return (m_CSC_ID);}

◆ decode_section()

int Tile_Base_ID::decode_section ( int section) const
inlineprivateinherited

Definition at line 313 of file Tile_Base_ID.h.

314 {
315 return section >= SBARREL ? (section & SECTION_MASK) : section;
316 }

◆ detsystem_context()

IdContext AtlasDetectorID::detsystem_context ( void ) const
inherited

IdContext (indicates id length) for detector systems.

Definition at line 180 of file AtlasDetectorID.cxx.

180 {
181 ExpandedIdentifier id{};
182 return IdContext{id, 0, m_DET_INDEX};
183}

◆ dict()

const IdDictDictionary * CaloIDHelper::dict ( ) const
protectedinherited

Return the dictionary for this subdetector.

◆ dict_names()

const std::vector< std::string > & AtlasDetectorID::dict_names ( void ) const
inherited

Dictionary names.

Definition at line 469 of file AtlasDetectorID.cxx.

469 {
470 return m_dict_names;
471}
std::vector< std::string > m_dict_names
List of dictionary names used by this helper.

◆ dict_tags()

const std::vector< std::string > & AtlasDetectorID::dict_tags ( void ) const
inherited

Version tags for subdet dictionaries.

Definition at line 475 of file AtlasDetectorID.cxx.

475 {
476 return m_dict_tags;
477}
std::vector< std::string > m_dict_tags
List of dictionary versions used by this helper.

◆ dictionaryVersion()

std::string AtlasDetectorID::dictionaryVersion ( void ) const
overridevirtualinherited

Implements IdHelper.

Definition at line 283 of file AtlasDetectorID.cxx.

283 {
284 return m_dict_version;
285}
std::string m_dict_version

◆ dictRegions()

const std::vector< const IdDictRegion * > & CaloIDHelper::dictRegions ( ) const
inherited

Return the vector of IdDictRegion, accessed via region hash.

◆ do_checks()

bool AtlasDetectorID::do_checks ( void ) const
overridevirtualinherited

Checks are performed by default in debug compilation and NOT in optimized compilation.

One can switch or query this mode for any idHelper with the following methods:

Implements IdHelper.

Definition at line 478 of file AtlasDetectorID.cxx.

478 {
479 return m_do_checks;
480}
bool m_do_checks
Flag for subclasses to know whether or not to perform checks.

◆ do_neighbours()

bool AtlasDetectorID::do_neighbours ( void ) const
overridevirtualinherited

Neighbour initialization is performed by default One can switch or query this mode for any idHelper with the following method:

Implements IdHelper.

Definition at line 485 of file AtlasDetectorID.cxx.

485 {
486 return m_do_neighbours;
487}
bool m_do_neighbours
Flag for subclasses to know whether or not to perform neighbour initialization.

◆ encode_section()

int Tile_Base_ID::encode_section ( int section) const
inlineprivateinherited

Definition at line 318 of file Tile_Base_ID.h.

319 {
321 }
unsigned m_supercell

◆ eta0()

float CaloIDHelper::eta0 ( const IdentifierHash regHash) const
inherited

Return the minimum eta of region, or NOT_VALID.

Parameters
regHashREGION hash code.

Definition at line 206 of file CaloIDHelper.cxx.

207{
208 if (regHash >= m_vecOfDictRegions.size()) return NOT_VALID;
209 return (m_vecOfDictRegions.at(regHash)->eta0());
210}
std::vector< const IdDictRegion * > m_vecOfDictRegions
List of IdDictRegion objects.

◆ eta_max() [1/2]

int Tile_Base_ID::eta_max ( const Identifier & id) const
inherited

Definition at line 1541 of file Tile_Base_ID.cxx.

1542{
1543 IdContext context = cell_context();
1544 return eta_max (id, context);
1545}
int eta_max(const Identifier &id) const

◆ eta_max() [2/2]

int Tile_Base_ID::eta_max ( const Identifier & id,
const IdContext & context ) const
privateinherited

Definition at line 1515 of file Tile_Base_ID.cxx.

1516{
1517 ExpandedIdentifier expId;
1518 if(!get_expanded_id(id, expId, &context)) {
1519 int result = -999;
1520 for (unsigned int i = 0; i < m_full_cell_range.size(); ++i) {
1521 const Range& range = m_full_cell_range[i];
1522 if (range.match(expId)) {
1523 const Range::field& eta_field = range[m_TOWER_INDEX];
1524 if (not eta_field.empty()) {
1525 int etamax = eta_field.get_maximum();
1526 if (result < etamax) result = etamax;
1527 }
1528 }
1529 }
1530 return (result);
1531 }
1532 return (-999); // default
1533}
bool empty() const
If true, this field does not have any constraints, and may hold any value representable by element_ty...
element_type get_maximum() const

◆ eta_min() [1/2]

int Tile_Base_ID::eta_min ( const Identifier & id) const
inherited

max values (-999 == failure)

Definition at line 1535 of file Tile_Base_ID.cxx.

1536{
1537 IdContext context = tower_context();
1538 return eta_min (id, context);
1539}
IdContext tower_context() const
id for towers
int eta_min(const Identifier &id) const
max values (-999 == failure)

◆ eta_min() [2/2]

int Tile_Base_ID::eta_min ( const Identifier & id,
const IdContext & context ) const
privateinherited

Definition at line 1490 of file Tile_Base_ID.cxx.

1491{
1492 ExpandedIdentifier expId;
1493 if(!get_expanded_id(id, expId, &context)) {
1494 int result = -999;
1495 for (unsigned int i = 0; i < m_full_tower_range.size(); ++i) {
1496 const Range& range = m_full_tower_range[i];
1497 if (range.match(expId)) {
1498 const Range::field& eta_field = range[m_TOWER_INDEX];
1499 if (not eta_field.empty()) {
1500 int etamin = eta_field.get_minimum();
1501 if (-999 == result) {
1502 result = etamin;
1503 }
1504 else {
1505 if (etamin < result) result = etamin;
1506 }
1507 }
1508 }
1509 }
1510 return (result);
1511 }
1512 return (-999);
1513}
element_type get_minimum() const
Query the values.
MultiRange m_full_tower_range

◆ etaGranularity()

float CaloIDHelper::etaGranularity ( const IdentifierHash regHash) const
inherited

Return the eta granularity of a region, or NOT_VALID.

Parameters
regHashREGION hash code.

Definition at line 184 of file CaloIDHelper.cxx.

185{
186 if (regHash >= m_vecOfDictRegions.size()) return NOT_VALID;
187 return m_vecOfDictRegions.at(regHash)->deta();
188}

◆ file_names()

const std::vector< std::string > & AtlasDetectorID::file_names ( void ) const
inherited

File names for subdet dictionaries.

Definition at line 472 of file AtlasDetectorID.cxx.

472 {
473 return m_file_names;
474}
std::vector< std::string > m_file_names
List of dictionary file names used by this helper.

◆ fill_vec_of_dict_regions()

int CaloIDHelper::fill_vec_of_dict_regions ( const std::string & group_name = "")
protectedinherited

Initialize the list of detector regions.

init_regions should have been called first.

Parameters
group_nameThe group for this helper.
Returns
0 on success; non-zero on failure.

Definition at line 256 of file CaloIDHelper.cxx.

257{
258 m_vecOfDictRegions.clear();
259 m_vecOfDictRegions.reserve (regions().hash_max());
260 IdContext region_cntxt = region_context();
261 ExpandedIdentifier expRegId;
262 for (Identifier id : regions().range()) {
263 if(!get_expanded_id(id, expRegId, &region_cntxt)) {
264 m_vecOfDictRegions.push_back (m_dict->find_region(expRegId,group_name));
265 }
266 }
267 // cppcheck-suppress assertWithSideEffect
268 assert (m_vecOfDictRegions.size() == regions().hash_max());
269 return 0;
270}
const HashGroup & regions() const
Return the HashGroup for regions.
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const =0
Create an expanded Identifier from an Identifier.
IdContext region_context() const
Return the context for regions.
const IdDictDictionary * m_dict
The dictionary for this helper.

◆ fix_barrel_ec()

std::string AtlasDetectorID::fix_barrel_ec ( const std::string & barrel_ec) const
protectedinherited

◆ forward_field_value()

int AtlasDetectorID::forward_field_value ( ) const
inlineprotectedinherited

Definition at line 524 of file AtlasDetectorID.h.

524{return (m_FWD_ID);}

◆ fwd_exp()

ExpandedIdentifier AtlasDetectorID::fwd_exp ( void ) const
protectedinherited

Definition at line 1077 of file AtlasDetectorID.cxx.

1078{
1079 ExpandedIdentifier result;
1080 return (result << m_FWD_ID);
1081}

◆ get_expanded_id()

int Tile_Base_ID::get_expanded_id ( const Identifier & id,
ExpandedIdentifier & exp_id,
const IdContext * context ) const
privatevirtualinherited

create expanded Identifier from Identifier (return == 0 for OK)

Implements CaloIDHelper.

Definition at line 1580 of file Tile_Base_ID.cxx.

1583{
1584 int result = 1;
1585
1586 size_t begin = (context) ? context->begin_index() : 0;
1587 size_t end = (context) ? context->end_index() : m_ADC_INDEX;
1588 assert (end <= m_ADC_INDEX);
1589
1590 if (0 == end) {
1591 result = 0;
1592 }
1593 else if ( 0 == begin) {
1594 ExpandedIdentifier empty;
1595 result = dict()->unpack(group(), id, empty, end, exp_id);
1596 }
1597 else {
1598 result = dict()->unpack(group(), id, context->prefix_id(), end, exp_id);
1599 }
1600 return result;
1601}
static const Attributes_t empty
const std::string & group() const
Group name for this helper.
size_type begin_index() const
Definition IdContext.h:45
size_type end_index() const
Definition IdContext.h:46
const ExpandedIdentifier & prefix_id() const
Accessors.
Definition IdContext.h:44
int unpack(const std::string &group, const Identifier &id, const ExpandedIdentifier &prefix, size_t index2, ExpandedIdentifier &unpackedId) const
Unpack the value_type id to an expanded Identifier for a given group, considering the provided prefix...

◆ get_field()

int Tile_Base_ID::get_field ( const Identifier & id,
size_type index ) const
privateinherited

unpack one field from Identifier

Definition at line 110 of file Tile_Base_ID.cxx.

111{
112 int field = 0;
113 if(!dict()->unpack(id, 0, index, m_tile_region_index, field)) {
114 return field;
115 } else {
116 return 0;
117 }
118}

◆ get_hash()

int Tile_Base_ID::get_hash ( const Identifier & id,
IdentifierHash & hash_id,
const IdContext * context = 0 ) const
virtualinherited

create hash id from compact id (return == 0 for OK)

Reimplemented from CaloIDHelper.

Definition at line 1147 of file Tile_Base_ID.cxx.

1150{
1151 hash_id = 0;
1152 int result = 1;
1153
1154 size_t begin = (context) ? context->begin_index(): 0;
1155 size_t end = (context) ? context->end_index() : 0;
1156
1157 if (0 == begin) {
1158 if ( m_ADC_INDEX == end ) {
1159 result = m_adcs.get_hash (id, hash_id);
1160 } else if ( m_PMT_INDEX == end ) {
1161 result = m_pmts.get_hash (pmt_id(id), hash_id);
1162 } else if ( m_SAMPLE_INDEX == end ) {
1163 result = channels().get_hash (cell_id(id), hash_id);
1164 } else if ( m_TOWER_INDEX == end ) {
1165 result = m_towers.get_hash (tower_id(id), hash_id);
1166 } else if ( m_MODULE_INDEX == end ) {
1167 result = m_modules.get_hash (module_id(id), hash_id);
1168 } else if ( m_SIDE_INDEX == end ) {
1169 result = regions().get_hash (region_id(id), hash_id);
1170 }
1171 }
1172
1173 return (result);
1174}
int get_hash(Identifier id, IdentifierHash &hash_id) const
Look up the hash code corresponding to an Identifier.
CaloIDHelper::HashGroup m_modules
CaloIDHelper::HashGroup m_towers
Identifier tower_id(int section, int side, int module, int tower) const
CaloIDHelper::HashGroup m_pmts
Identifier module_id(int section, int side, int module) const

◆ get_id()

int Tile_Base_ID::get_id ( const IdentifierHash & hash_id,
Identifier & id,
const IdContext * context = 0 ) const
virtualinherited

create compact id from hash id (return == 0 for OK)

Reimplemented from CaloIDHelper.

Definition at line 1079 of file Tile_Base_ID.cxx.

1082{
1083 int result = 1;
1084 id.clear();
1085
1086 size_t begin = (context) ? context->begin_index(): 0;
1087 // cannot get hash if end is 0:
1088 size_t end = (context) ? context->end_index() : 0;
1089
1090 if (0 == begin) {
1091
1092 if ( m_ADC_INDEX == end ) {
1093 if (hash_id < m_adcs.hash_max()) {
1094 id = m_adcs.id (hash_id);
1095 result = 0;
1096 } else {
1097 ATH_MSG_ERROR("get_id: adc hash_id is out of range " << hash_id
1098 << " > " << m_adcs.hash_max());
1099 }
1100 } else if ( m_PMT_INDEX == end ) {
1101 if (hash_id < m_pmts.hash_max()) {
1102 id = m_pmts.id (hash_id);
1103 result = 0;
1104 } else {
1105 ATH_MSG_ERROR("get_id: pmt hash_id is out of range " << hash_id
1106 << " >= " << m_pmts.hash_max());
1107 }
1108 } else if ( m_SAMPLE_INDEX == end ) {
1109 if (hash_id < channels().hash_max()) {
1110 id = channels().id (hash_id);
1111 result = 0;
1112 } else {
1113 ATH_MSG_ERROR("get_id: cell hash_id is out of range " << hash_id
1114 << " >= " << channels().hash_max());
1115 }
1116 } else if ( m_TOWER_INDEX == end ) {
1117 if (hash_id < m_towers.hash_max()) {
1118 id = m_towers.id (hash_id);
1119 result = 0;
1120 } else {
1121 ATH_MSG_ERROR("get_id: tower hash_id is out of range " << hash_id
1122 << " >= " << m_towers.hash_max());
1123 }
1124 } else if ( m_MODULE_INDEX == end ) {
1125 if (hash_id < m_modules.hash_max()) {
1126 id = m_modules.id (hash_id);
1127 result = 0;
1128 } else {
1129 ATH_MSG_ERROR("get_id: module hash_id is out of range " << hash_id
1130 << " >= " << m_modules.hash_max());
1131 }
1132 } else if ( m_SIDE_INDEX == end ) {
1133 if (hash_id < regions().hash_max()) {
1134 id = regions().id (hash_id);
1135 result = 0;
1136 } else {
1137 ATH_MSG_ERROR("get_id: region hash_id is out of range " << hash_id
1138 << " >= " << regions().hash_max());
1139 }
1140 }
1141 }
1142 return(result);
1143}
#define ATH_MSG_ERROR(x)
Identifier id(IdentifierHash hashId) const
Return the identifier for a given hash code (no checking).

◆ get_neighbours()

int Tile_Base_ID::get_neighbours ( const IdentifierHash & id,
const LArNeighbours::neighbourOption & option,
std::vector< IdentifierHash > & neighbourList ) const
inherited

access to hashes for neighbours return == 0 for neighbours found option = prevInPhi, nextInPhi, prevInEta, nextInEta, ..., ..., all2D, prevInSamp, nextInSamp, ..., all3D

     in 'nextInEta' next always means higher eta (i.e. smaller abs(eta) for negative eta)
     in 'prevInEta' prev always means smaller eta
     in 'nextInPhi' next always means higher phi (i.e. smaller abs(phi) for negative phi)
     in 'prevInPhi' prev always means smaller phi
     in 'nextInSamp', next means 'away from the centre of Atlas'
     in 'prevInSamp', prev means 'towards   the centre of Atlas'
 all2D means PrevInEta and nextInEta for all cells obtained in prevInPhi and nextInPhi
 all3D means prevInSamp and nextInSamp for all cells obtained in all2D 

NOTA neighbour is also returned across Barrel-ITC-Gap.Sin-Ext.Barrel boundaries

Definition at line 1763 of file Tile_Base_ID.cxx.

1765{
1766 int result = 1;
1767
1768 if(!m_do_neighbours) {
1769 ATH_MSG_WARNING("get_neighbours: neighbours not initialized !!! returning empty list");
1770 neighbourList.resize(0);
1771 return result;
1772 }
1773
1774 neighbourList.clear();
1775
1776 bool prevSmp = (option & prevInSamp);
1777 bool nextSmp = (option & nextInSamp);
1778
1779 bool corners2DOnly = ( (option & all2D) == corners2D );
1780
1781 bool prevPhi = corners2DOnly || (option & prevInPhi);
1782 bool nextPhi = corners2DOnly || (option & nextInPhi);
1783 bool prevEta = corners2DOnly || (option & prevInEta);
1784 bool nextEta = corners2DOnly || (option & nextInEta);
1785
1786 std::vector<IdentifierHash> inpList;
1787 std::vector<IdentifierHash>::iterator inpItr;
1788 std::vector<IdentifierHash>::iterator inpLast;
1789
1790 inpList.push_back(id_orig);
1791
1792 // all phi neighbours (just 2)
1793 if (prevPhi) m_neighbour.prev_phi(id_orig,neighbourList);
1794 if (nextPhi) m_neighbour.next_phi(id_orig,neighbourList);
1795
1796 if ( (option & all2D) == faces2D) {
1797 // do nothing
1798
1799 } else if (corners2DOnly) {
1800 // neighbours of phi-neigbours are 2D corners
1801 inpList = std::move(neighbourList); // copy 2 phi neighbours to input list
1802 neighbourList.clear(); // and clear neighbour list
1803
1804 } else if ( (option & all2D) == all2D) {
1805 // copy all neighbours to input list
1806 inpList.insert (inpList.end(), neighbourList.begin(), neighbourList.end());
1807
1808 }
1809
1810 // all eta neighbours
1811 inpItr = inpList.begin();
1812 inpLast = inpList.end();
1813 for ( ; inpItr != inpLast; ++inpItr) {
1814 IdentifierHash id = (*inpItr);
1815 if (prevEta) m_neighbour.prev_eta(id,neighbourList);
1816 if (nextEta) m_neighbour.next_eta(id,neighbourList);
1817 }
1818
1819 // all sampling neighbours
1820 if( (option & all3DwithCorners) == all3DwithCorners ) {
1821
1822 inpItr = inpList.begin();
1823 inpLast = inpList.end();
1824 for ( ; inpItr != inpLast; ++inpItr) {
1825 IdentifierHash id = (*inpItr);
1826 m_neighbour.prev_samp_wide(id,neighbourList);
1827 m_neighbour.next_samp_wide(id,neighbourList);
1828 }
1829
1830 } else {
1831
1832 if (prevSmp) m_neighbour.prev_samp(id_orig,neighbourList);
1833 if (nextSmp) m_neighbour.next_samp(id_orig,neighbourList);
1834
1835 }
1836
1837 if (!neighbourList.empty()) result = 0;
1838
1839 return result;
1840}
#define ATH_MSG_WARNING(x)
TileNeighbour m_neighbour

◆ group()

const std::string & AtlasDetectorID::group ( ) const
inherited

Group name for this helper.

Definition at line 34 of file AtlasDetectorID.cxx.

35{
36 return m_group;
37}
std::string m_group
Group name.

◆ helper()

virtual HelperType AtlasDetectorID::helper ( ) const
inlinevirtualinherited

Type of helper, defaulted to 'Unimplemented'.

Reimplemented in PixelID, PLR_ID, and SCT_ID.

Definition at line 90 of file AtlasDetectorID.h.

◆ hgtd()

Identifier AtlasDetectorID::hgtd ( void ) const
inherited

Definition at line 116 of file AtlasDetectorID.cxx.

116 {
117 Identifier result{0};
118 // Pack field
119 m_det_impl.pack(indet_field_value(), result);
120 m_indet_part_impl.pack(m_HGTD_ID, result);
121 return result;
122}
IdDictFieldImplementation m_indet_part_impl
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.

◆ hgtd_exp()

ExpandedIdentifier AtlasDetectorID::hgtd_exp ( void ) const
protectedinherited

Definition at line 1105 of file AtlasDetectorID.cxx.

1106{
1107 ExpandedIdentifier result(indet_exp());
1108 return (result << m_HGTD_ID);
1109}
ExpandedIdentifier indet_exp(void) const
Detector systems:

◆ hgtd_field_value()

int AtlasDetectorID::hgtd_field_value ( ) const
inlineprotectedinherited

Definition at line 488 of file AtlasDetectorID.h.

488{return (m_HGTD_ID);}

◆ indet()

Identifier AtlasDetectorID::indet ( void ) const
inherited

Detector systems:

Definition at line 57 of file AtlasDetectorID.cxx.

57 {
58 Identifier result{0};
59 // Pack field
60 m_det_impl.pack(indet_field_value(), result);
61 return result;
62}

◆ indet_exp()

ExpandedIdentifier AtlasDetectorID::indet_exp ( void ) const
protectedinherited

Detector systems:

Definition at line 1042 of file AtlasDetectorID.cxx.

1043{
1044 ExpandedIdentifier result;
1045 return (result << m_INDET_ID);
1046}

◆ indet_field_value()

int AtlasDetectorID::indet_field_value ( ) const
inlineprotectedinherited

Provide efficient access to individual field values, for subclass idhelpers.

Definition at line 464 of file AtlasDetectorID.h.

464{return (m_INDET_ID);}

◆ init_hashes()

int Tile_Base_ID::init_hashes ( )
privateinherited

Definition at line 1727 of file Tile_Base_ID.cxx.

1728{
1729 if (regions().init (*this, "regions", m_full_region_range,
1731 m_SIDE_INDEX))
1732 return 1;
1733
1734 if (m_modules.init (*this, "modules", m_full_module_range,
1737 return 1;
1738
1739 if (m_towers.init (*this, "towers", m_full_tower_range,
1742 return 1;
1743
1744 if (channels().init (*this, "channels", m_full_cell_range,
1747 return 1;
1748
1749 if (m_pmts.init (*this, "pmts", m_full_pmt_range,
1751 m_PMT_INDEX))
1752 return 1;
1753
1754 if (m_adcs.init (*this, "adcs", m_full_adc_range,
1756 m_ADC_INDEX))
1757 return 1;
1758
1759 return (0);
1760}
MultiRange m_full_module_range
MultiRange m_full_pmt_range

◆ initialize_base_from_dictionary()

int Tile_Base_ID::initialize_base_from_dictionary ( const IdDictMgr & dict_mgr,
const std::string & group_name )
inherited

initialization from the identifier dictionary

Definition at line 1177 of file Tile_Base_ID.cxx.

1179{
1180 ATH_MSG_DEBUG("initialize_base_from_dictionary ");
1181
1182 // Check whether this helper should be reinitialized
1183 if (!reinitialize(dict_mgr)) {
1184 ATH_MSG_DEBUG("Request to reinitialize not satisfied - tags have not changed");
1185 return (0);
1186 }
1187 else {
1188 ATH_MSG_DEBUG("(Re)initialize");
1189 }
1190
1191 ATH_MSG_DEBUG("calling base initialize_base_from_dictionary");
1192
1193 // init base object
1195 "TileCalorimeter"))
1196 return (1);
1197
1198 // Initialize the field indices
1199 if(initLevelsFromDict (group_name)) return (1);
1200
1201
1202 // Find value for the field Tile Calorimeter
1203 const IdDictDictionary* atlasDict = dict_mgr.find_dictionary ("ATLAS");
1204 int tileField = -1;
1205 if (atlasDict->get_label_value("subdet", "TileCalorimeter", tileField)) {
1206 ATH_MSG_ERROR("Could not get value for label 'TileCalorimeter' of field 'subdet' in dictionary "
1207 << atlasDict->name());
1208 return (1);
1209 }
1210
1211 // Set up id for region and range prefix
1212 ExpandedIdentifier tile_id;
1213 tile_id.add(tileField);
1214 ExpandedIdentifier reg_id = tile_id;
1215 Range prefix;
1216
1217 m_full_adc_range = dict()->build_multirange(reg_id, group_name, prefix, "adc");
1218 m_full_pmt_range = dict()->build_multirange(reg_id, group_name, prefix, "pmt");
1219 m_full_cell_range = dict()->build_multirange(reg_id, group_name, prefix, "sampling");
1220 m_full_tower_range = dict()->build_multirange(reg_id, group_name, prefix, "tower");
1221 m_full_module_range = dict()->build_multirange(reg_id, group_name, prefix, "module");
1222 m_full_region_range = dict()->build_multirange(reg_id, group_name, prefix, "side");
1223
1224 // Find value for the field Tile Online
1225 int tilehwField = -1;
1226 if (dict()->get_label_value("section", "Online", tilehwField)) {
1227 ATH_MSG_ERROR("Could not get value for label 'Online' of field 'section' in dictionary "
1228 << dict()->name());
1229 } else {
1230 // remove online ID from all ranges
1231 reg_id = tile_id;
1232 reg_id.add(tilehwField);
1233 m_full_adc_range.remove_range(reg_id);
1234 m_full_pmt_range.remove_range(reg_id);
1235 m_full_cell_range.remove_range(reg_id);
1236 m_full_tower_range.remove_range(reg_id);
1237 m_full_module_range.remove_range(reg_id);
1238 m_full_region_range.remove_range(reg_id);
1239 }
1240
1241 // Find value for the field Tile Testbeam
1242 int tiletbField = -1;
1243 if (dict()->get_label_value("section", "Testbeam", tiletbField)) {
1244 ATH_MSG_ERROR("Could not get value for label 'Testbeam' of field 'section' in dictionary "
1245 << dict()->name());
1246 } else {
1247 // remove testbeam ID from all ranges
1248 reg_id = std::move(tile_id);
1249 reg_id.add(tiletbField);
1250 m_full_adc_range.remove_range(reg_id);
1251 m_full_pmt_range.remove_range(reg_id);
1252 m_full_cell_range.remove_range(reg_id);
1253 m_full_tower_range.remove_range(reg_id);
1254 m_full_module_range.remove_range(reg_id);
1255 m_full_region_range.remove_range(reg_id);
1256 }
1257
1258 ATH_MSG_DEBUG("initialize_from_dict :");
1259 ATH_MSG_DEBUG(" region range -> " << (std::string)m_full_region_range);
1260 ATH_MSG_DEBUG(" module range -> " << (std::string)m_full_module_range);
1261 ATH_MSG_DEBUG(" tower range -> " << (std::string)m_full_tower_range );
1262 ATH_MSG_DEBUG(" cell range -> " << (std::string)m_full_cell_range );
1263 ATH_MSG_DEBUG(" pmt range -> " << (std::string)m_full_pmt_range );
1264 ATH_MSG_DEBUG(" adc range -> " << (std::string)m_full_adc_range );
1265
1266 // Setup the hash tables
1267 if(init_hashes()) return (1);
1268
1269 // Setup hash tables for finding neighbors
1270 if(m_do_neighbours) {
1271 // temporary workaround to get the super_cell neighbor file directly
1272 // instead of from the db. In the long term the file name should
1273 // come from the db as well
1274 std::string neighbourFile;
1275 if ( m_supercell ) {
1276 neighbourFile = "TileSuperCellNeighbour.txt";
1277 }
1278 else {
1279 neighbourFile = dict_mgr.find_metadata("TILENEIGHBORS");
1280 }
1281 if (neighbourFile.empty()) throw std::runtime_error("TileID: Cannot find the Tile Neighbour file name");
1282 if(m_neighbour.initialize(this, neighbourFile)) return (1);
1283 }
1284
1285 return 0;
1286}
#define ATH_MSG_DEBUG(x)
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &dict_name)
Do basic initialization of the helper.
const std::string & name() const
Return the name for this helper.
void add(element_type value)
Append a value into a new field.
MultiRange build_multirange() const
Get MultiRange for full dictionary.
int get_label_value(const std::string &field, const std::string &label, int &value) const
const std::string & name() const
Dictionary name.
const IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
const std::string & find_metadata(const std::string &name) const
Access to meta data, name/value pairs.
Definition IdDictMgr.cxx:87
int initLevelsFromDict(const std::string &group_name)

◆ initialize_from_dictionary()

int Tile_SuperCell_ID::initialize_from_dictionary ( const IdDictMgr & dict_mgr)
virtual

initialization from the identifier dictionary

Reimplemented from AtlasDetectorID.

Definition at line 28 of file Tile_SuperCell_ID.cxx.

29{
30 ATH_MSG_DEBUG("initialize_from_dictionary");
31
32 // Check whether this helper should be reinitialized
33 if (!reinitialize(dict_mgr)) {
34 ATH_MSG_DEBUG("Request to reinitialize not satisfied - tags have not changed");
35 return (0);
36 }
37 else {
38 ATH_MSG_DEBUG("(Re)initialize");
39 }
40
41 // init base object
43 return (1);
44
45 return 0;
46}
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &group_name)
initialization from the identifier dictionary

◆ initLevelsFromDict()

int Tile_Base_ID::initLevelsFromDict ( const std::string & group_name)
privateinherited

Definition at line 1603 of file Tile_Base_ID.cxx.

1604{
1605 if(!dict()) {
1606 ATH_MSG_ERROR("initLevelsFromDict - dictionary NOT initialized ");
1607 return (1);
1608 }
1609
1610 // Find out which identifier field corresponds to each level.
1611
1612 m_SYSTEM_INDEX = 999;
1613 m_SECTION_INDEX = 999;
1614 m_SIDE_INDEX = 999;
1615 m_MODULE_INDEX = 999;
1616 m_TOWER_INDEX = 999;
1617 m_SAMPLE_INDEX = 999;
1618 m_PMT_INDEX = 999;
1619 m_ADC_INDEX = 999;
1620
1621 const IdDictGroup* group = dict()->find_group(group_name);
1622 if ( !group ){
1623 ATH_MSG_ERROR("initLevelsFromDict - cannot find " << group_name
1624 << " group' field ");
1625 }
1626 else {
1627 m_tile_region_index = group->region(0).index();
1628 }
1629
1630 // Fing a Tile region
1631 const IdDictField* field = dict()->find_field("subdet") ;
1632 if (field) {
1633 m_SYSTEM_INDEX = field->index();
1634 }
1635 else {
1636 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'subdet' field ");
1637 return (1);
1638 }
1639
1640 field = dict()->find_field("section") ;
1641 if (field) {
1642 m_SECTION_INDEX = field->index();
1643 }
1644 else {
1645 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'section' field ");
1646 return (1);
1647 }
1648
1649 field = dict()->find_field("side") ;
1650 if (field) {
1651 m_SIDE_INDEX = field->index();
1652 }
1653 else {
1654 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'side' field ");
1655 return (1);
1656 }
1657
1658 field = dict()->find_field("module") ;
1659 if (field) {
1660 m_MODULE_INDEX = field->index();
1661 }
1662 else {
1663 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'module' field ");
1664 return (1);
1665 }
1666
1667 field = dict()->find_field("tower") ;
1668 if (field) {
1669 m_TOWER_INDEX = field->index();
1670 }
1671 else {
1672 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'tower' field ");
1673 return (1);
1674 }
1675
1676 field = dict()->find_field("sampling") ;
1677 if (field) {
1678 m_SAMPLE_INDEX = field->index();
1679 }
1680 else {
1681 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'sampling' field ");
1682 return (1);
1683 }
1684
1685 field = dict()->find_field("pmt") ;
1686 if (field) {
1687 m_PMT_INDEX = field->index();
1688 }
1689 else {
1690 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'pmt' field ");
1691 return (1);
1692 }
1693
1694 field = dict()->find_field("adc") ;
1695 if (field) {
1696 m_ADC_INDEX = field->index();
1697 }
1698 else {
1699 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'adc' field ");
1700 return (1);
1701 }
1702
1703 const IdDictRegion& region = dict()->region(m_tile_region_index);
1704
1705 m_system_impl = region.implementation(m_SYSTEM_INDEX);
1706 m_section_impl = region.implementation(m_SECTION_INDEX);
1707 m_side_impl = region.implementation(m_SIDE_INDEX);
1708 m_module_impl = region.implementation(m_MODULE_INDEX);
1709 m_tower_impl = region.implementation(m_TOWER_INDEX);
1710 m_sample_impl = region.implementation(m_SAMPLE_INDEX);
1711 m_pmt_impl = region.implementation(m_PMT_INDEX);
1712 m_adc_impl = region.implementation(m_ADC_INDEX);
1713
1714 ATH_MSG_DEBUG("initLevelsFromDict decode index and bit fields for each level: " );
1715 ATH_MSG_DEBUG(" system [" << m_SYSTEM_INDEX << "] " << m_system_impl.show_to_string() );
1716 ATH_MSG_DEBUG(" section [" << m_SECTION_INDEX << "] " << m_section_impl.show_to_string() );
1717 ATH_MSG_DEBUG(" side [" << m_SIDE_INDEX << "] " << m_side_impl.show_to_string() );
1718 ATH_MSG_DEBUG(" module [" << m_MODULE_INDEX << "] " << m_module_impl.show_to_string() );
1719 ATH_MSG_DEBUG(" tower [" << m_TOWER_INDEX << "] " << m_tower_impl.show_to_string() );
1720 ATH_MSG_DEBUG(" sampling [" << m_SAMPLE_INDEX << "] " << m_sample_impl.show_to_string() );
1721 ATH_MSG_DEBUG(" pmt [" << m_PMT_INDEX << "] " << m_pmt_impl.show_to_string() );
1722 ATH_MSG_DEBUG(" adc [" << m_ADC_INDEX << "] " << m_adc_impl.show_to_string() );
1723
1724 return(0) ;
1725}
IdDictGroup * find_group(const std::string &group_name)
const IdDictField * find_field(const std::string &name) const
const IdDictRegion & region(size_t i) const
Region at index i.
IdDictFieldImplementation m_side_impl
IdDictFieldImplementation m_adc_impl
IdDictFieldImplementation m_tower_impl
IdDictFieldImplementation m_section_impl
IdDictFieldImplementation m_pmt_impl
IdDictFieldImplementation m_module_impl
IdDictFieldImplementation m_sample_impl
IdDictFieldImplementation m_system_impl
int region(int section, int side) const

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ is_alfa()

bool AtlasDetectorID::is_alfa ( Identifier id) const
inlineinherited

Definition at line 794 of file AtlasDetectorID.h.

795{
796 bool result = false;
797 if(is_forward(id)) {
798 result = (abs(m_lar_part_impl.unpack(id)) == m_ALFA_ID);
799 }
800 return result;
801}
IdDictFieldImplementation m_lar_part_impl
bool is_forward(Identifier id) const

◆ is_bcm()

bool AtlasDetectorID::is_bcm ( Identifier id) const
inlineinherited

Definition at line 804 of file AtlasDetectorID.h.

805{
806 bool result = false;
807 if(is_forward(id)) {
808 result = (abs(m_lar_part_impl.unpack(id)) == m_BCM_ID);
809 }
810 return result;
811}

◆ is_calo() [1/2]

bool AtlasDetectorID::is_calo ( const ExpandedIdentifier & id) const
inherited

Definition at line 298 of file AtlasDetectorID.cxx.

298 {
299 return id.fields() > 0 && id[0] == m_CALO_ID;
300}

◆ is_calo() [2/2]

bool AtlasDetectorID::is_calo ( Identifier id) const
inlineinherited

Definition at line 560 of file AtlasDetectorID.h.

561{
562 return (m_det_impl.unpack(id) == m_CALO_ID);
563}

◆ is_csc() [1/2]

bool AtlasDetectorID::is_csc ( const ExpandedIdentifier & id) const
inherited

Definition at line 340 of file AtlasDetectorID.cxx.

340 {
341 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_CSC_ID;
342}

◆ is_csc() [2/2]

bool AtlasDetectorID::is_csc ( Identifier id) const
inlineinherited

Definition at line 744 of file AtlasDetectorID.h.

745{
746 bool result = false;
747 if (!is_muon(id)) return false;
748 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
749 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
750 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasCSC));
751 return result;
752}
bool is_muon(Identifier id) const
std::vector< unsigned int > m_muon_tech_bits
IdDictFieldImplementation m_muon_station_name_impl

◆ is_forward()

bool AtlasDetectorID::is_forward ( Identifier id) const
inlineinherited

Definition at line 788 of file AtlasDetectorID.h.

789{
790 return (m_det_impl.unpack(id) == m_FWD_ID);
791}

◆ is_hgtd() [1/2]

bool AtlasDetectorID::is_hgtd ( const ExpandedIdentifier & id) const
inherited

Definition at line 311 of file AtlasDetectorID.cxx.

311 {
312 return is_indet(id) && id.fields() > 1 && id[1] == m_HGTD_ID;
313}
bool is_indet(Identifier id) const

◆ is_hgtd() [2/2]

bool AtlasDetectorID::is_hgtd ( Identifier id) const
inlineinherited

Definition at line 647 of file AtlasDetectorID.h.

648{
649 bool result = false;
650 // Must check is_pixel to allow for special bits
651 // (don't need this check for 64-bit identifier, but leave it in for now)
652 if(is_indet(id) && !is_pixel(id)) {
653 result = (m_indet_part_impl.unpack(id) == m_HGTD_ID);
654 }
655 return result;
656}
bool is_pixel(Identifier id) const

◆ is_high_gain()

bool Tile_Base_ID::is_high_gain ( const Identifier & id) const
inherited

Definition at line 288 of file Tile_Base_ID.cxx.

289{
290 bool result = is_tile(id)
291 && ( adc(id) == Tile_Base_ID::HIGHGAIN );
292
293 return result;
294}
bool is_tile(Identifier id) const

◆ is_indet() [1/2]

bool AtlasDetectorID::is_indet ( const ExpandedIdentifier & id) const
inherited

Definition at line 286 of file AtlasDetectorID.cxx.

286 {
287 return id.fields() > 0 && id[0] == m_INDET_ID;
288}

◆ is_indet() [2/2]

bool AtlasDetectorID::is_indet ( Identifier id) const
inlineinherited

Definition at line 536 of file AtlasDetectorID.h.

537{
538 return (m_det_impl.unpack(id) == m_INDET_ID);
539}

◆ is_lar() [1/2]

bool AtlasDetectorID::is_lar ( const ExpandedIdentifier & id) const
inherited

Definition at line 289 of file AtlasDetectorID.cxx.

289 {
290 return id.fields() > 0 && id[0] == m_LAR_ID;
291}

◆ is_lar() [2/2]

bool AtlasDetectorID::is_lar ( Identifier id) const
inlineinherited

Definition at line 542 of file AtlasDetectorID.h.

543{
544 return (m_det_impl.unpack(id) == m_LAR_ID);
545}

◆ is_lar_dm()

bool AtlasDetectorID::is_lar_dm ( Identifier id) const
inlineinherited

LAr/Tile dead material:

Definition at line 589 of file AtlasDetectorID.h.

590{
591 bool result = false;
592 if (is_calo(id)) {
593 int temp = m_calo_side_impl.unpack(id);
594 result = (m_lar_dm_field.match(temp));
595 }
596 return result;
597}
Range::field m_lar_dm_field
IdDictFieldImplementation m_calo_side_impl
bool is_calo(Identifier id) const

◆ is_lar_em() [1/2]

bool AtlasDetectorID::is_lar_em ( const ExpandedIdentifier & id) const
inherited

Definition at line 321 of file AtlasDetectorID.cxx.

321 {
322 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_EM_ID;
323}
bool is_lar(Identifier id) const

◆ is_lar_em() [2/2]

bool AtlasDetectorID::is_lar_em ( Identifier id) const
inlineinherited

Definition at line 671 of file AtlasDetectorID.h.

672{
673 bool result = false;
674 if(is_lar(id)) {
675 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_EM_ID);
676 }
677 return result;
678}

◆ is_lar_fcal() [1/2]

bool AtlasDetectorID::is_lar_fcal ( const ExpandedIdentifier & id) const
inherited

Definition at line 328 of file AtlasDetectorID.cxx.

328 {
329 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_FCAL_ID;
330}

◆ is_lar_fcal() [2/2]

bool AtlasDetectorID::is_lar_fcal ( Identifier id) const
inlineinherited

Definition at line 692 of file AtlasDetectorID.h.

693{
694 bool result = false;
695 if(is_lar(id)) {
696 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_FCAL_ID);
697 }
698 return result;
699}

◆ is_lar_hec() [1/2]

bool AtlasDetectorID::is_lar_hec ( const ExpandedIdentifier & id) const
inherited

Definition at line 324 of file AtlasDetectorID.cxx.

324 {
325 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_HEC_ID;
326}

◆ is_lar_hec() [2/2]

bool AtlasDetectorID::is_lar_hec ( Identifier id) const
inlineinherited

Definition at line 682 of file AtlasDetectorID.h.

683{
684 bool result = false;
685 if(is_lar(id)) {
686 result = (abs(m_lar_part_impl.unpack(id)) == m_LAR_HEC_ID);
687 }
688 return result;
689}

◆ is_lar_minifcal() [1/2]

bool AtlasDetectorID::is_lar_minifcal ( const ExpandedIdentifier & id) const
inherited

Definition at line 332 of file AtlasDetectorID.cxx.

332 {
333 return is_lar_fcal(id) && id.fields() > 3 &&std::abs(id[3]) == 0;
334}
bool is_lar_fcal(Identifier id) const

◆ is_lar_minifcal() [2/2]

bool AtlasDetectorID::is_lar_minifcal ( Identifier id) const
inlineinherited

Definition at line 702 of file AtlasDetectorID.h.

703{
704 bool result = false;
705 if(is_lar_fcal(id)) {
706 result = (m_lar_fcal_module_impl.unpack(id) == 0);
707 }
708 return result;
709}
IdDictFieldImplementation m_lar_fcal_module_impl

◆ is_low_gain()

bool Tile_Base_ID::is_low_gain ( const Identifier & id) const
inherited

Definition at line 279 of file Tile_Base_ID.cxx.

280{
281 bool result = is_tile(id)
282 && ( adc(id) == Tile_Base_ID::LOWGAIN );
283
284 return result;
285}

◆ is_lucid()

bool AtlasDetectorID::is_lucid ( Identifier id) const
inlineinherited

Definition at line 814 of file AtlasDetectorID.h.

815{
816 bool result = false;
817 if(is_forward(id)) {
818 result = (abs(m_lar_part_impl.unpack(id)) == m_LUCID_ID);
819 }
820 return result;
821}

◆ is_lumi() [1/2]

bool AtlasDetectorID::is_lumi ( const ExpandedIdentifier & id) const
inherited

Definition at line 314 of file AtlasDetectorID.cxx.

314 {
315 return is_indet(id) && id.fields() > 1 && id[1] == m_LUMI_ID;
316}

◆ is_lumi() [2/2]

bool AtlasDetectorID::is_lumi ( Identifier id) const
inlineinherited

Definition at line 659 of file AtlasDetectorID.h.

660{
661 bool result = false;
662 // Must check is_pixel to allow for special bits
663 // (don't need this check for 64-bit identifier, but leave it in for now)
664 if(is_indet(id) && !is_pixel(id)) {
665 result = (m_indet_part_impl.unpack(id) == m_LUMI_ID);
666 }
667 return result;
668}

◆ is_lvl1_online()

bool AtlasDetectorID::is_lvl1_online ( Identifier id) const
inlineinherited

Definition at line 577 of file AtlasDetectorID.h.

578{
579 bool result = false;
580 if (is_calo(id)) {
581 int temp = m_calo_side_impl.unpack(id);
582 result = (m_lvl1_onl_field.match(temp));
583 }
584 return result;
585}
Range::field m_lvl1_onl_field

◆ is_lvl1_trig_towers()

bool AtlasDetectorID::is_lvl1_trig_towers ( Identifier id) const
inlineinherited

Definition at line 566 of file AtlasDetectorID.h.

567{
568 bool result = false;
569 if (is_calo(id)) {
570 int temp = m_calo_side_impl.unpack(id);
571 result = (m_lvl1_field.match(temp));
572 }
573 return result;
574}
Range::field m_lvl1_field

◆ is_mdt() [1/2]

bool AtlasDetectorID::is_mdt ( const ExpandedIdentifier & id) const
inherited

Definition at line 336 of file AtlasDetectorID.cxx.

336 {
337 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_MDT_ID;
338}

◆ is_mdt() [2/2]

bool AtlasDetectorID::is_mdt ( Identifier id) const
inlineinherited

Definition at line 712 of file AtlasDetectorID.h.

713{
714 bool result = false;
715 if (!is_muon(id)) return false;
716 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
717 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
718 // MDT and RPC can only be destinguished by the additional bit in the ID
719 // since the station names are ambiguous
720 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
721 || (techBit == AtlasDetDescr::fAtlasRPC))) {
722 result = (m_muon_mdt_impl.unpack(id) == m_MDT_ID);
723 }
724 return result;
725}
IdDictFieldImplementation m_muon_mdt_impl

◆ is_mm() [1/2]

bool AtlasDetectorID::is_mm ( const ExpandedIdentifier & id) const
inherited

Definition at line 356 of file AtlasDetectorID.cxx.

356 {
357 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_MM_ID;
358}

◆ is_mm() [2/2]

bool AtlasDetectorID::is_mm ( Identifier id) const
inlineinherited

Definition at line 766 of file AtlasDetectorID.h.

767{
768 bool result = false;
769 if (!is_muon(id)) return false;
770 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
771 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
772 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasMM));
773 return result;
774}

◆ is_muon() [1/2]

bool AtlasDetectorID::is_muon ( const ExpandedIdentifier & id) const
inherited

Definition at line 295 of file AtlasDetectorID.cxx.

295 {
296 return id.fields() > 0 && id[0] == m_MUON_ID;
297}

◆ is_muon() [2/2]

bool AtlasDetectorID::is_muon ( Identifier id) const
inlineinherited

Definition at line 554 of file AtlasDetectorID.h.

555{
556 return (m_det_impl.unpack(id) == m_MUON_ID);
557}

◆ is_negative()

bool Tile_Base_ID::is_negative ( const Identifier & id) const
inherited

Definition at line 243 of file Tile_Base_ID.cxx.

244{
245 bool result = is_tile(id)
246 && ( side(id) == Tile_Base_ID::NEGATIVE );
247
248 return result;
249}

◆ is_pixel() [1/2]

bool AtlasDetectorID::is_pixel ( const ExpandedIdentifier & id) const
inherited

Definition at line 301 of file AtlasDetectorID.cxx.

301 {
302 return is_indet(id) && id.fields() > 1 && id[1] == m_PIXEL_ID;
303}

◆ is_pixel() [2/2]

bool AtlasDetectorID::is_pixel ( Identifier id) const
inlineinherited

Definition at line 613 of file AtlasDetectorID.h.

614{
615 bool result = false;
616 if(is_indet(id)) {
617 result = (m_indet_part_impl.unpack(id) == m_PIXEL_ID);
618 }
619 return result;
620}

◆ is_plr() [1/2]

bool AtlasDetectorID::is_plr ( const ExpandedIdentifier & id) const
inherited

Definition at line 317 of file AtlasDetectorID.cxx.

317 {
318 return is_lumi(id) && id.fields() > 2 && id[2] == m_LUMI_PLR_ID;
319}
bool is_lumi(Identifier id) const

◆ is_plr() [2/2]

bool AtlasDetectorID::is_plr ( Identifier id) const
inherited

◆ is_positive()

bool Tile_Base_ID::is_positive ( const Identifier & id) const
inherited

Definition at line 252 of file Tile_Base_ID.cxx.

253{
254 bool result = is_tile(id)
255 && ( side(id) == Tile_Base_ID::POSITIVE );
256
257 return result;
258}

◆ is_rpc() [1/2]

bool AtlasDetectorID::is_rpc ( const ExpandedIdentifier & id) const
inherited

Definition at line 344 of file AtlasDetectorID.cxx.

344 {
345 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_RPC_ID;
346}

◆ is_rpc() [2/2]

bool AtlasDetectorID::is_rpc ( Identifier id) const
inlineinherited

Definition at line 728 of file AtlasDetectorID.h.

729{
730 bool result = false;
731 if (!is_muon(id)) return false;
732 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
733 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
734 // MDT and RPC can only be destinguished by the additional bit in the ID
735 // since the station names are ambiguous
736 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
737 || (techBit == AtlasDetDescr::fAtlasRPC))) {
738 result = (m_muon_rpc_impl.unpack(id) == m_RPC_ID);
739 }
740 return result;
741}
IdDictFieldImplementation m_muon_rpc_impl

◆ is_sct() [1/2]

bool AtlasDetectorID::is_sct ( const ExpandedIdentifier & id) const
inherited

Definition at line 305 of file AtlasDetectorID.cxx.

305 {
306 return is_indet(id) && id.fields() > 1 && id[1] == m_SCT_ID;
307}

◆ is_sct() [2/2]

bool AtlasDetectorID::is_sct ( Identifier id) const
inlineinherited

Definition at line 623 of file AtlasDetectorID.h.

624{
625 bool result = false;
626 // Must check is_pixel to allow for special bits
627 // (don't need this check for 64-bit identifier, but leave it in for now)
628 if(is_indet(id) && !is_pixel(id)) {
629 result = (m_indet_part_impl.unpack(id) == m_SCT_ID);
630 }
631 return result;
632}

◆ is_stgc() [1/2]

bool AtlasDetectorID::is_stgc ( const ExpandedIdentifier & id) const
inherited

Definition at line 352 of file AtlasDetectorID.cxx.

352 {
353 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_STGC_ID;
354}

◆ is_stgc() [2/2]

bool AtlasDetectorID::is_stgc ( Identifier id) const
inlineinherited

Definition at line 777 of file AtlasDetectorID.h.

778{
779 bool result = false;
780 if (!is_muon(id)) return false;
781 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
782 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
783 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasSTGC));
784 return result;
785}

◆ is_supercell()

bool Tile_Base_ID::is_supercell ( const Identifier & id) const
inherited

Definition at line 296 of file Tile_Base_ID.cxx.

297{
298 return is_tile(id) && (get_field(id,m_SECTION_INDEX) & SUPERCELL_MASK);
299}

◆ is_tgc() [1/2]

bool AtlasDetectorID::is_tgc ( const ExpandedIdentifier & id) const
inherited

Definition at line 348 of file AtlasDetectorID.cxx.

348 {
349 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_TGC_ID;
350}

◆ is_tgc() [2/2]

bool AtlasDetectorID::is_tgc ( Identifier id) const
inlineinherited

Definition at line 755 of file AtlasDetectorID.h.

756{
757 bool result = false;
758 if (!is_muon(id)) return false;
759 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
760 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
761 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasTGC));
762 return result;
763}

◆ is_tile() [1/2]

bool AtlasDetectorID::is_tile ( const ExpandedIdentifier & id) const
inherited

Definition at line 292 of file AtlasDetectorID.cxx.

292 {
293 return id.fields() > 0 && id[0] == m_TILE_ID;
294}

◆ is_tile() [2/2]

bool AtlasDetectorID::is_tile ( Identifier id) const
inlineinherited

Definition at line 548 of file AtlasDetectorID.h.

549{
550 return (m_det_impl.unpack(id) == m_TILE_ID);
551}

◆ is_tile_aux()

bool Tile_Base_ID::is_tile_aux ( const Identifier & id) const
inherited

Definition at line 234 of file Tile_Base_ID.cxx.

235{
236 bool result = is_tile(id)
237 && ( section(id) == Tile_Base_ID::AUXDET );
238
239 return result;
240}

◆ is_tile_barrel()

bool Tile_Base_ID::is_tile_barrel ( const Identifier & id) const
inherited

Test of an Identifier to see if it belongs to a particular part of the calorimeter.

Definition at line 207 of file Tile_Base_ID.cxx.

208{
209 bool result = is_tile(id)
210 && ( section(id) == Tile_Base_ID::BARREL );
211
212 return result;
213}

◆ is_tile_dm()

bool AtlasDetectorID::is_tile_dm ( Identifier id) const
inlineinherited

Definition at line 601 of file AtlasDetectorID.h.

602{
603 bool result = false;
604 if (is_calo(id)) {
605 int temp = m_calo_side_impl.unpack(id);
606 result = (m_tile_dm_field.match(temp));
607 }
608 return result;
609}
Range::field m_tile_dm_field

◆ is_tile_extbarrel()

bool Tile_Base_ID::is_tile_extbarrel ( const Identifier & id) const
inherited

Definition at line 216 of file Tile_Base_ID.cxx.

217{
218 bool result = is_tile(id)
219 && ( section(id) == Tile_Base_ID::EXTBAR );
220
221 return result;
222}

◆ is_tile_gap()

bool Tile_Base_ID::is_tile_gap ( const Identifier & id) const
inherited

Definition at line 225 of file Tile_Base_ID.cxx.

226{
227 bool result = is_tile(id)
228 && ( section(id) == Tile_Base_ID::GAPDET );
229
230 return result;
231}

◆ is_tile_gapscin()

bool Tile_Base_ID::is_tile_gapscin ( const Identifier & id) const
inherited

Definition at line 270 of file Tile_Base_ID.cxx.

271{
272 bool result = is_tile(id)
273 && ( sample(id) == Tile_Base_ID::SAMP_E );
274
275 return result;
276}

◆ is_trt() [1/2]

bool AtlasDetectorID::is_trt ( const ExpandedIdentifier & id) const
inherited

Definition at line 308 of file AtlasDetectorID.cxx.

308 {
309 return is_indet(id) && id.fields() > 1;
310}

◆ is_trt() [2/2]

bool AtlasDetectorID::is_trt ( Identifier id) const
inlineinherited

Definition at line 635 of file AtlasDetectorID.h.

636{
637 bool result = false;
638 // Must check is_pixel to allow for special bits
639 // (don't need this check for 64-bit identifier, but leave it in for now)
640 if(is_indet(id) && !is_pixel(id)) {
641 result = (m_indet_part_impl.unpack(id) == m_TRT_ID);
642 }
643 return result;
644}

◆ is_twosides()

bool Tile_Base_ID::is_twosides ( const Identifier & id) const
inherited

Definition at line 261 of file Tile_Base_ID.cxx.

262{
263 bool result = is_tile(id)
264 && ( side(id) == 0 );
265
266 return result;
267}

◆ is_zdc()

bool AtlasDetectorID::is_zdc ( Identifier id) const
inlineinherited

Definition at line 824 of file AtlasDetectorID.h.

825{
826 bool result = false;
827 if(is_forward(id)) {
828 result = (abs(m_lar_part_impl.unpack(id)) == m_ZDC_ID);
829 }
830 return result;
831}

◆ lar()

Identifier AtlasDetectorID::lar ( void ) const
inherited

Definition at line 64 of file AtlasDetectorID.cxx.

64 {
65 Identifier result{0};
66 // Pack field
67 m_det_impl.pack(lar_field_value(), result);
68 return result;
69}
int lar_field_value() const

◆ lar_dm()

Identifier AtlasDetectorID::lar_dm ( void ) const
inherited

Definition at line 148 of file AtlasDetectorID.cxx.

148 {
149 Identifier result{0};
150 // Pack field
151 m_det_impl.pack(calo_field_value(), result);
152 m_calo_side_impl.pack(-4, result);
153 return result;
154}

◆ lar_em()

Identifier AtlasDetectorID::lar_em ( void ) const
inherited

Definition at line 132 of file AtlasDetectorID.cxx.

132 {
133 Identifier result{0};
134 // Pack field
135 m_det_impl.pack(lar_field_value(), result);
136 m_lar_part_impl.pack(m_LAR_EM_ID, result);
137 return result;
138}

◆ lar_em_exp()

ExpandedIdentifier AtlasDetectorID::lar_em_exp ( void ) const
protectedinherited

LAr.

Definition at line 1119 of file AtlasDetectorID.cxx.

1120{
1121 ExpandedIdentifier result(lar_exp());
1122 return (result << m_LAR_EM_ID);
1123}
ExpandedIdentifier lar_exp(void) const

◆ lar_em_field_value()

int AtlasDetectorID::lar_em_field_value ( ) const
inlineprotectedinherited

Definition at line 497 of file AtlasDetectorID.h.

497{return (m_LAR_EM_ID);}

◆ lar_exp()

ExpandedIdentifier AtlasDetectorID::lar_exp ( void ) const
protectedinherited

Definition at line 1049 of file AtlasDetectorID.cxx.

1050{
1051 ExpandedIdentifier result;
1052 return (result << m_LAR_ID);
1053}

◆ lar_fcal()

Identifier AtlasDetectorID::lar_fcal ( void ) const
inherited

Definition at line 172 of file AtlasDetectorID.cxx.

172 {
173 Identifier result{0};
174 // Pack field
175 m_det_impl.pack(lar_field_value(), result);
176 m_lar_part_impl.pack(m_LAR_FCAL_ID, result);
177 return result;
178}

◆ lar_fcal_exp()

ExpandedIdentifier AtlasDetectorID::lar_fcal_exp ( void ) const
protectedinherited

Definition at line 1133 of file AtlasDetectorID.cxx.

1134{
1135 ExpandedIdentifier result(lar_exp());
1136 return (result << m_LAR_FCAL_ID);
1137}

◆ lar_fcal_field_value()

int AtlasDetectorID::lar_fcal_field_value ( ) const
inlineprotectedinherited

Definition at line 503 of file AtlasDetectorID.h.

503{return (m_LAR_FCAL_ID);}

◆ lar_field_value()

int AtlasDetectorID::lar_field_value ( ) const
inlineprotectedinherited

Definition at line 467 of file AtlasDetectorID.h.

467{return (m_LAR_ID);}

◆ lar_hec()

Identifier AtlasDetectorID::lar_hec ( void ) const
inherited

Definition at line 164 of file AtlasDetectorID.cxx.

164 {
165 Identifier result{0};
166 // Pack field
167 m_det_impl.pack(lar_field_value(), result);
168 m_lar_part_impl.pack(m_LAR_HEC_ID, result);
169 return result;
170}

◆ lar_hec_exp()

ExpandedIdentifier AtlasDetectorID::lar_hec_exp ( void ) const
protectedinherited

Definition at line 1126 of file AtlasDetectorID.cxx.

1127{
1128 ExpandedIdentifier result(lar_exp());
1129 return (result << m_LAR_HEC_ID);
1130}

◆ lar_hec_field_value()

int AtlasDetectorID::lar_hec_field_value ( ) const
inlineprotectedinherited

Definition at line 500 of file AtlasDetectorID.h.

500{return (m_LAR_HEC_ID);}

◆ lar_lvl1()

Identifier AtlasDetectorID::lar_lvl1 ( void ) const
inherited

Definition at line 140 of file AtlasDetectorID.cxx.

140 {
141 Identifier result{0};
142 // Pack field
143 m_det_impl.pack(calo_field_value(), result);
144 m_calo_side_impl.pack(-1, result);
145 return result;
146}

◆ lucid_exp()

ExpandedIdentifier AtlasDetectorID::lucid_exp ( void ) const
protectedinherited

Definition at line 1154 of file AtlasDetectorID.cxx.

1155{
1156 ExpandedIdentifier result(fwd_exp());
1157 return (result << m_LUCID_ID);
1158}

◆ lucid_field_value()

int AtlasDetectorID::lucid_field_value ( ) const
inlineprotectedinherited

Definition at line 530 of file AtlasDetectorID.h.

530{return (m_LUCID_ID);}

◆ lumi()

Identifier AtlasDetectorID::lumi ( void ) const
inherited

Definition at line 124 of file AtlasDetectorID.cxx.

124 {
125 Identifier result{0};
126 // Pack field
127 m_det_impl.pack(indet_field_value(), result);
128 m_indet_part_impl.pack(m_LUMI_ID, result);
129 return result;
130}

◆ lumi_exp()

ExpandedIdentifier AtlasDetectorID::lumi_exp ( void ) const
protectedinherited

Definition at line 1112 of file AtlasDetectorID.cxx.

1113{
1114 ExpandedIdentifier result(indet_exp());
1115 return (result << m_LUMI_ID);
1116}

◆ lumi_field_value()

int AtlasDetectorID::lumi_field_value ( ) const
inlineprotectedinherited

Definition at line 491 of file AtlasDetectorID.h.

491{return (m_LUMI_ID);}

◆ mdt()

Identifier AtlasDetectorID::mdt ( void ) const
inherited

Definition at line 39 of file AtlasDetectorID.cxx.

39 {
40 return Identifier{};
41}

◆ mdt_field_value()

int AtlasDetectorID::mdt_field_value ( ) const
inlineprotectedinherited

Definition at line 506 of file AtlasDetectorID.h.

506{return (m_MDT_ID);}

◆ mm()

Identifier AtlasDetectorID::mm ( void ) const
inherited

Definition at line 54 of file AtlasDetectorID.cxx.

54 {
55 return Identifier{};
56}

◆ mm_field_value()

int AtlasDetectorID::mm_field_value ( ) const
inlineprotectedinherited

Definition at line 521 of file AtlasDetectorID.h.

521{return (m_MM_ID);}

◆ module_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::module_begin ( ) const
inherited

iterator over set of module Identifiers

Definition at line 1333 of file Tile_Base_ID.cxx.

1334{
1335 return m_modules.begin();
1336}

◆ module_context()

IdContext Tile_Base_ID::module_context ( ) const
inherited

id for modules

Definition at line 1049 of file Tile_Base_ID.cxx.

1050{
1051 return {0, m_MODULE_INDEX};
1052}

◆ module_end()

Tile_Base_ID::id_iterator Tile_Base_ID::module_end ( ) const
inherited

Definition at line 1338 of file Tile_Base_ID.cxx.

1339{
1340 return m_modules.end();
1341}

◆ module_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::module_hash_max ( ) const
inherited

Definition at line 1293 of file Tile_Base_ID.cxx.

1294{
1295 return m_modules.hash_max();
1296}

◆ module_id() [1/5]

Identifier Tile_Base_ID::module_id ( const ExpandedIdentifier & exp_id) const
inherited

Definition at line 1445 of file Tile_Base_ID.cxx.

1446{
1447 return this->module_id (exp_id[m_SECTION_INDEX],
1448 exp_id[m_SIDE_INDEX],
1449 exp_id[m_MODULE_INDEX]);
1450}

◆ module_id() [2/5]

Identifier Tile_Base_ID::module_id ( const Identifier & any_id) const
inherited

Definition at line 515 of file Tile_Base_ID.cxx.

516{
517 Identifier result;
518 // extract with the dictionary
519 Identifier id;
520 if(!dict()->copy(any_id, 0, 0, m_MODULE_INDEX, m_tile_region_index, id)) {
521 result = id;
522 }
523 return (result);
524}

◆ module_id() [3/5]

bool Tile_Base_ID::module_id ( const Identifier & region_id,
int module,
Identifier & module_id ) const
inherited

Construct identifiers with checking.

Definition at line 913 of file Tile_Base_ID.cxx.

915{
916 ExpandedIdentifier id;
917 IdContext context = region_context();
918 get_expanded_id(region_id, id, &context);
919 id << module;
920 if (!m_full_module_range.match(id)) {
921 return false;
922 }
923
924 Identifier compactId(0);
925 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
926 module_id = compactId;
927 }
928 return true;
929}

◆ module_id() [4/5]

Identifier Tile_Base_ID::module_id ( int section,
int side,
int module ) const
inherited

Definition at line 507 of file Tile_Base_ID.cxx.

509{
510 return module_id (section, side, module, do_checks());
511}

◆ module_id() [5/5]

Identifier Tile_Base_ID::module_id ( int section,
int side,
int module,
bool checks ) const
inherited

Definition at line 471 of file Tile_Base_ID.cxx.

474{
475 if(checks) {
476
477 // Check that id is within allowed range
478
479 // Fill expanded id
480 ExpandedIdentifier expId(tile_exp());
481 expId << encode_section (section) << side << module;
482
483 if (!m_full_module_range.match(expId)) {
484 std::string errorMessage = "Tile_Base_ID::module_id() result is not OK: ID, range = "
485 + std::string(expId) + " , " + (std::string)m_full_region_range;
486 throw TileID_Exception(errorMessage , 1);
487 }
488 }
489
490 Identifier result;
491
492 int id[8];
495 id[m_SIDE_INDEX] = side;
496 id[m_MODULE_INDEX] = module;
497
498 Identifier compactId(0);
499 if (!dict()->pack32(id, 0, m_MODULE_INDEX, m_tile_region_index, compactId)) {
500 result = compactId;
501 }
502
503 return result;
504}

◆ module_ids()

const std::vector< Identifier > & Tile_Base_ID::module_ids ( ) const
inherited

Definition at line 1413 of file Tile_Base_ID.cxx.

1414{
1415 return m_modules.ids();
1416}

◆ module_range()

Tile_Base_ID::id_range Tile_Base_ID::module_range ( ) const
inherited

Definition at line 1343 of file Tile_Base_ID.cxx.

1344{
1345 return m_modules.range();
1346}

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 163 of file AthMessaging.h.

164{
165 MsgStream* ms = m_msg_tls.get();
166 if (!ms) {
167 if (!m_initialized.test_and_set()) initMessaging();
168 ms = new MsgStream(m_imsg,m_nm);
169 m_msg_tls.reset( ms );
170 }
171
172 ms->setLevel (m_lvl);
173 return *ms;
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 178 of file AthMessaging.h.

179{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 if (m_lvl <= lvl) {
154 msg() << lvl;
155 return true;
156 } else {
157 return false;
158 }
159}

◆ muon()

Identifier AtlasDetectorID::muon ( void ) const
inherited

Definition at line 78 of file AtlasDetectorID.cxx.

78 {
79 Identifier result{0};
80 // Pack field
81 m_det_impl.pack(muon_field_value(), result);
82 return result;
83}
int muon_field_value() const

◆ muon_exp()

ExpandedIdentifier AtlasDetectorID::muon_exp ( void ) const
protectedinherited

Definition at line 1063 of file AtlasDetectorID.cxx.

1064{
1065 ExpandedIdentifier result;
1066 return (result << m_MUON_ID);
1067}

◆ muon_field_value()

int AtlasDetectorID::muon_field_value ( ) const
inlineprotectedinherited

Definition at line 473 of file AtlasDetectorID.h.

473{return (m_MUON_ID);}

◆ name()

const std::string & CaloIDHelper::name ( ) const
inherited

Return the name for this helper.

◆ phi0()

float CaloIDHelper::phi0 ( const IdentifierHash regHash) const
inherited

Return the minimum phi of region, or NOT_VALID.

Parameters
regHashREGION hash code.

Definition at line 217 of file CaloIDHelper.cxx.

218{
219 if (regHash >= m_vecOfDictRegions.size()) return NOT_VALID;
220 return (m_vecOfDictRegions.at(regHash)->phi0());
221}

◆ phi_max()

int Tile_Base_ID::phi_max ( const Identifier & id) const
inherited

Definition at line 1559 of file Tile_Base_ID.cxx.

1560{
1561 ExpandedIdentifier expId;
1562 IdContext context = cell_context();
1563 if(!get_expanded_id(id, expId, &context)) {
1564 int result = -999;
1565 for (unsigned int i = 0; i < m_full_cell_range.size(); ++i) {
1566 const Range& range = m_full_cell_range[i];
1567 if (range.match(expId)) {
1568 const Range::field& phi_field = range[m_MODULE_INDEX];
1569 if (not phi_field.empty()) {
1570 int phimax = phi_field.get_maximum();
1571 if (result < phimax) result = phimax;
1572 }
1573 }
1574 }
1575 return (result);
1576 }
1577 return (-999); // default
1578}

◆ phiGranularity()

float CaloIDHelper::phiGranularity ( const IdentifierHash regHash) const
inherited

Return the phi granularity of a region, or NOT_VALID.

Parameters
regHashREGION hash code.

Definition at line 195 of file CaloIDHelper.cxx.

196{
197 if (regHash >= m_vecOfDictRegions.size()) return NOT_VALID;
198 return 2. * M_PI / m_vecOfDictRegions.at(regHash)->dphi();
199}
#define M_PI

◆ pixel()

Identifier AtlasDetectorID::pixel ( void ) const
inherited

Definition at line 92 of file AtlasDetectorID.cxx.

92 {
93 Identifier result{0};
94 // Pack field
95 m_det_impl.pack(indet_field_value(), result);
96 m_indet_part_impl.pack(m_PIXEL_ID, result);
97 return result;
98}

◆ pixel_exp()

ExpandedIdentifier AtlasDetectorID::pixel_exp ( void ) const
protectedinherited

Inner Detector:

Definition at line 1084 of file AtlasDetectorID.cxx.

1085{
1086 ExpandedIdentifier result(indet_exp());
1087 return (result << m_PIXEL_ID);
1088}

◆ pixel_field_value()

int AtlasDetectorID::pixel_field_value ( ) const
inlineprotectedinherited

Definition at line 479 of file AtlasDetectorID.h.

479{return (m_PIXEL_ID);}

◆ plr_field_value()

int AtlasDetectorID::plr_field_value ( ) const
inlineprotectedinherited

Definition at line 494 of file AtlasDetectorID.h.

494{return (m_LUMI_PLR_ID);}

◆ pmt()

int Tile_Base_ID::pmt ( const Identifier & id) const
inherited

Definition at line 182 of file Tile_Base_ID.cxx.

183{
184 return get_field(id,m_PMT_INDEX);
185}

◆ pmt_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::pmt_begin ( ) const
inherited

iterator over set of pmt Identifiers

Definition at line 1378 of file Tile_Base_ID.cxx.

1379{
1380 return m_pmts.begin();
1381}

◆ pmt_context()

IdContext Tile_Base_ID::pmt_context ( ) const
inherited

id for PMTs

Definition at line 1067 of file Tile_Base_ID.cxx.

1068{
1069 return {0, m_PMT_INDEX};
1070}

◆ pmt_end()

Tile_Base_ID::id_iterator Tile_Base_ID::pmt_end ( ) const
inherited

Definition at line 1383 of file Tile_Base_ID.cxx.

1384{
1385 return m_pmts.end();
1386}

◆ pmt_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::pmt_hash_max ( ) const
inherited

Definition at line 1308 of file Tile_Base_ID.cxx.

1309{
1310 return m_pmts.hash_max();
1311}

◆ pmt_id() [1/7]

Identifier Tile_Base_ID::pmt_id ( const ExpandedIdentifier & exp_id) const
inherited

Definition at line 1469 of file Tile_Base_ID.cxx.

1470{
1471 return this->pmt_id (exp_id[m_SECTION_INDEX],
1472 exp_id[m_SIDE_INDEX],
1473 exp_id[m_MODULE_INDEX],
1474 exp_id[m_TOWER_INDEX],
1475 exp_id[m_SAMPLE_INDEX],
1476 exp_id[m_PMT_INDEX]);
1477}

◆ pmt_id() [2/7]

Identifier Tile_Base_ID::pmt_id ( const Identifier & any_id) const
inherited

Definition at line 642 of file Tile_Base_ID.cxx.

643{
644 Identifier result;
645 // extract with the dictionary
646 Identifier id;
647 if(!dict()->copy(any_id, 0, 0, m_PMT_INDEX, m_tile_region_index, id)) {
648 result = id;
649 }
650 return (result);
651}

◆ pmt_id() [3/7]

Identifier Tile_Base_ID::pmt_id ( const Identifier & cell_id,
int pmt ) const
inherited

Definition at line 701 of file Tile_Base_ID.cxx.

703{
704 return pmt_id (cell_id, pmt, do_checks());
705}

◆ pmt_id() [4/7]

Identifier Tile_Base_ID::pmt_id ( const Identifier & cell_id,
int pmt,
bool checks ) const
inherited

Definition at line 654 of file Tile_Base_ID.cxx.

656{
657 Identifier result;
658
659 int id[8];
660 id[0] = pmt;
661
662 Identifier compactId(cell_id);
663 if (!dict()->pack32(id, m_PMT_INDEX, m_PMT_INDEX, m_tile_region_index, compactId)) {
664 result = compactId;
665 }
666 else {
667 std::string errorMessage = "Tile_Base_ID::pmt_id(cell_id,pmt) could not pack ID: "
668 + cell_id.getString() ;
669 throw TileID_Exception(errorMessage , 1);
670 }
671
672 if(checks) {
673
674 // Check that id is within allowed range
675
676 // Fill expanded id
677 ExpandedIdentifier expId;
678
679 IdContext context = cell_context();
680 if (get_expanded_id(result, expId, &context)) {
681 std::string errorMessage = "Tile_Base_ID::pmt_id(cell_id,pmt) result is not OK: ID = "
682 + result.getString() ;
683 throw TileID_Exception(errorMessage , 1);
684
685 // region_id.show();
686 }
687
688 expId << pmt;
689
690 if (!m_full_pmt_range.match(expId)) {
691 std::string errorMessage = "Tile_Base_ID::pmt_id() result is not OK: ID, range = "
692 + std::string(expId) + " , " + (std::string)m_full_region_range;
693 throw TileID_Exception(errorMessage , 1);
694 }
695 }
696
697 return result;
698}

◆ pmt_id() [5/7]

bool Tile_Base_ID::pmt_id ( const Identifier & cell_id,
int pmt,
Identifier & pmt_id ) const
inherited

Definition at line 968 of file Tile_Base_ID.cxx.

970{
971 ExpandedIdentifier id;
972 IdContext context = cell_context();
973 get_expanded_id(cell_id, id, &context);
974 id << pmt;
975 if (!m_full_pmt_range.match(id)) {
976 return false;
977 }
978
979 Identifier compactId(0);
980 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
981 pmt_id = compactId;
982 }
983 return true;
984}

◆ pmt_id() [6/7]

Identifier Tile_Base_ID::pmt_id ( int section,
int side,
int module,
int tower,
int sample,
int pmt ) const
inherited

Definition at line 748 of file Tile_Base_ID.cxx.

751{
752 return pmt_id (section, side, module, tower, sample, pmt, do_checks());
753}

◆ pmt_id() [7/7]

Identifier Tile_Base_ID::pmt_id ( int section,
int side,
int module,
int tower,
int sample,
int pmt,
bool checks ) const
inherited

Definition at line 708 of file Tile_Base_ID.cxx.

712{
713 if(checks) {
714
715 // Check that id is within allowed range
716
717 // Fill expanded id
718 ExpandedIdentifier expId(tile_exp());
719 expId << encode_section (section) << side << module << tower << sample << pmt;
720
721 if (!m_full_pmt_range.match(expId)) {
722 std::string errorMessage = "Tile_Base_ID::pmt_id() result is not OK: ID, range = "
723 + std::string(expId) + " , " + (std::string)m_full_region_range;
724 throw TileID_Exception(errorMessage , 1);
725 }
726 }
727
728 Identifier result;
729
730 int id[8];
733 id[m_SIDE_INDEX] = side;
734 id[m_MODULE_INDEX] = module;
735 id[m_TOWER_INDEX] = tower;
737 id[m_PMT_INDEX] = pmt;
738
739 Identifier compactId(0);
740 if (!dict()->pack32(id, 0, m_PMT_INDEX, m_tile_region_index, compactId)) {
741 result = compactId;
742 }
743
744 return result;
745}

◆ pmt_ids()

const std::vector< Identifier > & Tile_Base_ID::pmt_ids ( ) const
inherited

Definition at line 1428 of file Tile_Base_ID.cxx.

1429{
1430 return m_pmts.ids();
1431}

◆ pmt_range()

Tile_Base_ID::id_range Tile_Base_ID::pmt_range ( ) const
inherited

Definition at line 1388 of file Tile_Base_ID.cxx.

1389{
1390 return m_pmts.range();
1391}

◆ print()

void AtlasDetectorID::print ( Identifier id,
const IdContext * context = 0 ) const
inherited

Expanded print out of any identifier.

Definition at line 425 of file AtlasDetectorID.cxx.

425 {
426 ATH_MSG_INFO(print_to_string(id, context));
427}
#define ATH_MSG_INFO(x)
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form

◆ print_to_string()

std::string AtlasDetectorID::print_to_string ( Identifier id,
const IdContext * context = 0 ) const
inherited

or provide the printout in string form

Definition at line 429 of file AtlasDetectorID.cxx.

430 {
431 // Print out for any Atlas identifier
432 std::string result;
434
435 // Do a generic printout of identifier from dictionary
436 unsigned int max_index = (context) ? context->end_index() : 999;
437
438 // Find the dictionary to use:
439 const IdDictDictionary *dict{nullptr};
440 ExpandedIdentifier expId;
441 ExpandedIdentifier prefix; // default is null prefix
442 Identifier compact = id;
443
444 if (is_indet(id)) {
445 dict = m_indet_dict;
446 } else if (is_lar(id)) {
447 dict = m_lar_dict;
448 } else if (is_tile(id)) {
449 dict = m_tile_dict;
450 } else if (is_muon(id)) {
451 dict = m_muon_dict;
452 } else if (is_lvl1_trig_towers(id) || is_lvl1_online(id) ||
453 is_lar_dm(id) || is_tile_dm(id)) {
454 dict = m_calo_dict;
455 } else if (is_forward(id)) {
456 dict = m_fwd_dict;
457 }
458
459 if (!dict) {
460 ATH_MSG_WARNING(__func__<<":"<<__LINE__<<" No dictionary could be associated to "<<id);
461 return result;
462 }
463 if (dict->unpack(m_group, compact, prefix, max_index," ", result)) {
464 return result;
465 }
466 }
467 return result;
468}
const IdDictDictionary * m_calo_dict
const IdDictDictionary * m_muon_dict
bool is_lar_dm(Identifier id) const
LAr/Tile dead material:
bool is_lvl1_online(Identifier id) const
const IdDictDictionary * m_tile_dict
const IdDictDictionary * m_fwd_dict
bool is_tile_dm(Identifier id) const
const IdDictDictionary * m_indet_dict
const IdDictDictionary * m_lar_dict
bool is_lvl1_trig_towers(Identifier id) const

◆ reg_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::reg_begin ( ) const
inherited

iterator over set of region Identifiers

Definition at line 1318 of file Tile_Base_ID.cxx.

1319{
1320 return regions().begin();
1321}

◆ reg_end()

Tile_Base_ID::id_iterator Tile_Base_ID::reg_end ( ) const
inherited

Definition at line 1323 of file Tile_Base_ID.cxx.

1324{
1325 return regions().end();
1326}

◆ reg_range()

Tile_Base_ID::id_range Tile_Base_ID::reg_range ( ) const
inherited

Definition at line 1328 of file Tile_Base_ID.cxx.

1329{
1330 return regions().range();
1331}

◆ region() [1/2]

int Tile_Base_ID::region ( const Identifier & id) const
inherited

Definition at line 132 of file Tile_Base_ID.cxx.

133{
134 IdentifierHash hash_id;
135 IdContext context = region_context();
136
137 get_hash(region_id(id),hash_id,&context);
138
139 return (int)hash_id;
140}

◆ region() [2/2]

int Tile_Base_ID::region ( int section,
int side ) const
inherited

Definition at line 121 of file Tile_Base_ID.cxx.

122{
123 IdentifierHash hash_id;
124 IdContext context = region_context();
125
126 get_hash(region_id(section,side),hash_id,&context);
127
128 return (int)hash_id;
129}

◆ region_begin()

id_iterator Tile_Base_ID::region_begin ( ) const
inlineinherited

iterator over set of region Identifiers (synonyms for naming consistency)

Definition at line 218 of file Tile_Base_ID.h.

218{ return reg_begin(); }
id_iterator reg_begin() const
iterator over set of region Identifiers

◆ region_context()

IdContext Tile_Base_ID::region_context ( ) const
inherited

access to IdContext's which define which levels of fields are contained in the id

id for regions

Definition at line 1043 of file Tile_Base_ID.cxx.

1044{
1045 return {0, m_SIDE_INDEX};
1046}

◆ region_end()

id_iterator Tile_Base_ID::region_end ( ) const
inlineinherited

Definition at line 219 of file Tile_Base_ID.h.

219{ return reg_end(); }
id_iterator reg_end() const

◆ region_eta_max()

int Tile_Base_ID::region_eta_max ( const Identifier & id) const
inherited

Definition at line 1553 of file Tile_Base_ID.cxx.

1554{
1555 IdContext context = region_context();
1556 return eta_max (id, context);
1557}

◆ region_eta_min()

int Tile_Base_ID::region_eta_min ( const Identifier & id) const
inherited

Definition at line 1547 of file Tile_Base_ID.cxx.

1548{
1549 IdContext context = region_context();
1550 return eta_min (id, context);
1551}

◆ region_hash()

IdentifierHash CaloIDHelper::region_hash ( Identifier regionId) const
inherited

Convert a connected region Identifier to a hash code.

Some subdetector helpers may override this with a faster version.

◆ region_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::region_hash_max ( ) const
inherited

hash tables max size

Definition at line 1288 of file Tile_Base_ID.cxx.

1289{
1290 return regions().hash_max();
1291}

◆ region_id() [1/6]

Identifier CaloIDHelper::region_id ( IdentifierHash hashId) const
inherited

Return the region Identifier for a given hash code (no checking).

◆ region_id() [2/6]

Identifier Tile_Base_ID::region_id ( const ExpandedIdentifier & exp_id) const
inherited

Construct identifiers from ExpandedIdentifier's.

Definition at line 1439 of file Tile_Base_ID.cxx.

1440{
1441 return this->region_id (exp_id[m_SECTION_INDEX],
1442 exp_id[m_SIDE_INDEX]);
1443}

◆ region_id() [3/6]

Identifier Tile_Base_ID::region_id ( const Identifier & any_id) const
inherited

Definition at line 459 of file Tile_Base_ID.cxx.

460{
461 Identifier result;
462 // extract with the dictionary
463 Identifier id;
464 if(!dict()->copy(any_id, 0, 0, m_SIDE_INDEX, m_tile_region_index, id)) {
465 result = id;
466 }
467 return (result);
468}

◆ region_id() [4/6]

Identifier Tile_Base_ID::region_id ( int index) const
inherited

build single region, module, tower, cell, pmt, adc identifiers

Definition at line 407 of file Tile_Base_ID.cxx.

408{
409 Identifier result;
410 IdentifierHash hash_id = index;
411 IdContext context = region_context();
412
413 get_id(hash_id,result,&context);
414
415 return result;
416}
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)
str index
Definition DeMoScan.py:362

◆ region_id() [5/6]

Identifier Tile_Base_ID::region_id ( int section,
int side ) const
inherited

Definition at line 452 of file Tile_Base_ID.cxx.

453{
454 return region_id (section, side, do_checks());
455}

◆ region_id() [6/6]

Identifier Tile_Base_ID::region_id ( int section,
int side,
bool checks ) const
inherited

Definition at line 419 of file Tile_Base_ID.cxx.

420{
421 if(checks) {
422
423 // Check that id is within allowed range
424
425 // Fill expanded id
426 ExpandedIdentifier expId(tile_exp());
427 expId << encode_section (section) << side;
428
429 if (!m_full_region_range.match(expId)) {
430 std::string errorMessage = "Tile_Base_ID::region_id() result is not OK: ID, range = "
431 + std::string(expId) + " , " + (std::string)m_full_region_range;
432 throw TileID_Exception(errorMessage , 1);
433 }
434 }
435
436 Identifier result;
437
438 int id[8];
441 id[m_SIDE_INDEX] = side;
442
443 Identifier compactId(0);
444 if (!dict()->pack32(id, 0, m_SIDE_INDEX, m_tile_region_index, compactId)) {
445 result = compactId;
446 }
447
448 return result;
449}

◆ region_ids()

const std::vector< Identifier > & Tile_Base_ID::region_ids ( ) const
inherited

provide access to id vectors, accessed via hash

Definition at line 1408 of file Tile_Base_ID.cxx.

1409{
1410 return regions().ids();
1411}

◆ region_range()

id_range Tile_Base_ID::region_range ( ) const
inlineinherited

Definition at line 220 of file Tile_Base_ID.h.

220{ return reg_range(); }
id_range reg_range() const

◆ regions() [1/2]

HashGroup & CaloIDHelper::regions ( )
protectedinherited

Return the HashGroup for regions. non-const.

◆ regions() [2/2]

const HashGroup & CaloIDHelper::regions ( ) const
inherited

Return the HashGroup for regions.

◆ register_dict_tag()

int AtlasDetectorID::register_dict_tag ( const IdDictMgr & dict_mgr,
const std::string & dict_name )
protectedinherited

Register the file and tag names for a particular IdDict dictionary.

Definition at line 203 of file AtlasDetectorID.cxx.

204 {
205 // Register version of dictionary dict_name
206
207 // Access dictionary by name
208 const IdDictDictionary *dict = dict_mgr.find_dictionary(dict_name);
209 if (!dict) {
210 ATH_MSG_ERROR(__func__<<":"<<__LINE__<<" No dictionary found");
211 return 1;
212
213 }
214 // Add in dict name, file name and version
215 m_dict_names.push_back(dict_name);
216 m_file_names.push_back(dict->file_name());
217 m_dict_tags.push_back(dict->dict_tag());
218 return 0;
219}
const std::string & dict_tag() const
Access to the dictionary tag.
const std::string & file_name() const
Access to file name.

◆ reinitialize()

bool AtlasDetectorID::reinitialize ( const IdDictMgr & dict_mgr)
protectedinherited

Test whether an idhelper should be reinitialized based on the change of tags.

Definition at line 223 of file AtlasDetectorID.cxx.

223 {
224 // If no tag has been registered, then reinitialize
225 if (m_dict_tags.size() == 0){
226 return true;
227 }
228 // If no dict names have been registered, then reinitialize
229 if (m_dict_names.size() == 0){
230 return true;
231 }
232 // Loop over dict names and check version tags
233 if (m_dict_names.size() != m_dict_tags.size()) {
234 ATH_MSG_ERROR("reinitialize: dict names and tags vectors not the same length ");
235 ATH_MSG_ERROR("names: " << m_dict_names.size() << " tags: " << m_dict_tags.size());
236 }
237 for (unsigned int i = 0; i < m_dict_names.size(); ++i) {
238 // Access dictionary by name
239 const IdDictDictionary *dict = dict_mgr.find_dictionary(m_dict_names[i]);
240 if (!dict) {
241 ATH_MSG_ERROR("reinitialize: could not find dict - " << m_dict_names[i]);
242 return false;
243 }
244 if (m_dict_tags[i] != dict->dict_tag()) {
245 // Remove all memory of versions
246 m_dict_names.clear();
247 m_dict_tags.clear();
248 m_file_names.clear();
249 return true;
250 }
251 }
252
253 // Tags match - don't reinitialize
254 return false;
255}

◆ rpc()

Identifier AtlasDetectorID::rpc ( void ) const
inherited

Definition at line 45 of file AtlasDetectorID.cxx.

45 {
46 return Identifier{};
47}

◆ rpc_field_value()

int AtlasDetectorID::rpc_field_value ( ) const
inlineprotectedinherited

Definition at line 512 of file AtlasDetectorID.h.

512{return (m_RPC_ID);}

◆ sample()

int Tile_Base_ID::sample ( const Identifier & id) const
inherited

Definition at line 173 of file Tile_Base_ID.cxx.

174{
175 if ( section(id) == Tile_Base_ID::AUXDET )
177 else
178 return get_field(id,m_SAMPLE_INDEX);
179}

◆ sampling()

int Tile_Base_ID::sampling ( const Identifier & id) const
inlineinherited

Definition at line 163 of file Tile_Base_ID.h.

163{ return m_sample_impl.unpack(id); }

◆ sct()

Identifier AtlasDetectorID::sct ( void ) const
inherited

Definition at line 100 of file AtlasDetectorID.cxx.

100 {
101 Identifier result{0};
102 // Pack field
103 m_det_impl.pack(indet_field_value(), result);
104 m_indet_part_impl.pack(m_SCT_ID, result);
105 return result;
106}

◆ sct_exp()

ExpandedIdentifier AtlasDetectorID::sct_exp ( void ) const
protectedinherited

Definition at line 1091 of file AtlasDetectorID.cxx.

1092{
1093 ExpandedIdentifier result(indet_exp());
1094 return (result << m_SCT_ID);
1095}

◆ sct_field_value()

int AtlasDetectorID::sct_field_value ( ) const
inlineprotectedinherited

Definition at line 482 of file AtlasDetectorID.h.

482{return (m_SCT_ID);}

◆ section()

int Tile_Base_ID::section ( const Identifier & id) const
inherited

Definition at line 149 of file Tile_Base_ID.cxx.

150{
152}
int decode_section(int section) const

◆ set_do_checks()

void AtlasDetectorID::set_do_checks ( bool do_checks)
overridevirtualinherited

Implements IdHelper.

Definition at line 481 of file AtlasDetectorID.cxx.

481 {
483}

◆ set_do_neighbours()

void AtlasDetectorID::set_do_neighbours ( bool do_neighbours)
overridevirtualinherited

Implements IdHelper.

Definition at line 489 of file AtlasDetectorID.cxx.

489 {
491}
virtual bool do_neighbours(void) const override
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...

◆ setDictVersion()

void AtlasDetectorID::setDictVersion ( const IdDictMgr & dict_mgr,
const std::string & name )
overrideprotectedvirtualinherited

Implements IdHelper.

Definition at line 493 of file AtlasDetectorID.cxx.

493 {
494 const IdDictDictionary *dict = dict_mgr.find_dictionary(name);
495 m_dict_version = dict->version();
496}
const std::string & version() const
Dictionary version.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

◆ show()

void AtlasDetectorID::show ( Identifier id,
const IdContext * context = 0,
char sep = '.' ) const
inherited

Short print out of any identifier (optionally provide separation character - default is '.

'):

Definition at line 361 of file AtlasDetectorID.cxx.

361 {
362 ATH_MSG_INFO(show_to_string(id, context, sep));
363}
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form

◆ show_to_string()

std::string AtlasDetectorID::show_to_string ( Identifier id,
const IdContext * context = 0,
char sep = '.' ) const
inherited

or provide the printout in string form

Definition at line 367 of file AtlasDetectorID.cxx.

367 {
368 // Do a generic printout of identifier
369
370 std::string result("Unable to decode id");
371 unsigned int max_index = (context) ? context->end_index() : 999;
372
373 if (!id.is_valid()) {
374 return "[INVALID]";
375 }
376
378 return result;
379
380 // Find the dictionary to use:
381 const IdDictDictionary *dict{nullptr};
382 ExpandedIdentifier expId{};
383 ExpandedIdentifier prefix{}; // default is null prefix
384 Identifier compact = id;
385
386 if (is_indet(id)) {
387 dict = m_indet_dict;
388 } else if (is_lar(id)) {
389 dict = m_lar_dict;
390 } else if (is_tile(id)) {
391 dict = m_tile_dict;
392 } else if (is_muon(id)) {
393 dict = m_muon_dict;
394 } else if (is_lvl1_trig_towers(id) || is_lvl1_online(id) ||
395 is_lar_dm(id) || is_tile_dm(id)) {
396 dict = m_calo_dict;
397 } else if (is_forward(id)) {
398 dict = m_fwd_dict;
399 }
400
401 if (!dict) {
402 ATH_MSG_WARNING(__func__<<" No detector type associated to id "<<id);
403 return result;
404 }
405 if (dict->unpack(m_group, compact, prefix, max_index, expId)) {
406 return result;
407 }
408
409 bool first = true;
410 result = "";
411 if ('.' == sep)
412 result = "[";
413 for (unsigned int i = 0; i < expId.fields(); ++i) {
414 if (first)
415 first = false;
416 else
417 result += sep;
418 result += std::format("{}", expId[i]);
419 }
420 if ('.' == sep)
421 result += "]";
422 return result;
423}
size_type fields() const
bool first
Definition DeMoScan.py:534

◆ side()

int Tile_Base_ID::side ( const Identifier & id) const
inherited

Definition at line 155 of file Tile_Base_ID.cxx.

156{
157 return get_field(id,m_SIDE_INDEX);
158}

◆ stgc()

Identifier AtlasDetectorID::stgc ( void ) const
inherited

Definition at line 51 of file AtlasDetectorID.cxx.

51 {
52 return Identifier{};
53}

◆ stgc_field_value()

int AtlasDetectorID::stgc_field_value ( ) const
inlineprotectedinherited

Definition at line 518 of file AtlasDetectorID.h.

518{return (m_STGC_ID);}

◆ subdet_context()

IdContext AtlasDetectorID::subdet_context ( void ) const
inherited

IdContext (indicates id length) for sub-detector.

Definition at line 186 of file AtlasDetectorID.cxx.

186 {
187 ExpandedIdentifier id{};
188 return IdContext{id, 0, m_SUBDET_INDEX};
189}
size_type m_SUBDET_INDEX

◆ system()

int Tile_Base_ID::system ( const Identifier & id) const
inherited

Definition at line 143 of file Tile_Base_ID.cxx.

144{
145 return get_field(id,m_SYSTEM_INDEX);
146}

◆ tgc()

Identifier AtlasDetectorID::tgc ( void ) const
inherited

Definition at line 48 of file AtlasDetectorID.cxx.

48 {
49 return Identifier{};
50}

◆ tgc_field_value()

int AtlasDetectorID::tgc_field_value ( ) const
inlineprotectedinherited

Definition at line 515 of file AtlasDetectorID.h.

515{return (m_TGC_ID);}

◆ tile()

Identifier AtlasDetectorID::tile ( void ) const
inherited

Definition at line 71 of file AtlasDetectorID.cxx.

71 {
72 Identifier result{0};
73 // Pack field
74 m_det_impl.pack(tile_field_value(), result);
75 return result;
76}

◆ tile_barrel()

Identifier Tile_Base_ID::tile_barrel ( ) const
inherited

build identifier for Tile Barrel

Definition at line 320 of file Tile_Base_ID.cxx.

321{
322 Identifier result;
323
324 int id[8];
327
328 Identifier compactId(0);
329 if (!dict()->pack32(id, 0, m_SECTION_INDEX, m_tile_region_index, compactId)) {
330 result = compactId;
331 }
332
333 return result;
334}

◆ tile_det() [1/2]

Identifier Tile_Base_ID::tile_det ( int section) const
inherited

build identifier for any Tilecal section

Definition at line 400 of file Tile_Base_ID.cxx.

401{
402 return tile_det (section, do_checks());
403}
Identifier tile_det(int section) const
build identifier for any Tilecal section

◆ tile_det() [2/2]

Identifier Tile_Base_ID::tile_det ( int section,
bool checks ) const
inherited

Definition at line 376 of file Tile_Base_ID.cxx.

377{
378 if(checks) {
379 // Check that id is within allowed range
380 // Fill expanded id
381 ExpandedIdentifier expId(tile_exp());
382 expId << encode_section (section) ;
383 }
384
385 Identifier result;
386
387 int id[8];
390
391 Identifier compactId(0);
392 if (!dict()->pack32(id, 0, m_SECTION_INDEX, m_tile_region_index, compactId)) {
393 result = compactId;
394 }
395
396 return result;
397}

◆ tile_dm()

Identifier AtlasDetectorID::tile_dm ( void ) const
inherited

Definition at line 156 of file AtlasDetectorID.cxx.

156 {
157 Identifier result{0};
158 // Pack field
159 m_det_impl.pack(calo_field_value(), result);
160 m_calo_side_impl.pack(-5, result);
161 return result;
162}

◆ tile_exp()

ExpandedIdentifier AtlasDetectorID::tile_exp ( void ) const
protectedinherited

Definition at line 1056 of file AtlasDetectorID.cxx.

1057{
1058 ExpandedIdentifier result;
1059 return (result << m_TILE_ID);
1060}

◆ tile_extbarrel()

Identifier Tile_Base_ID::tile_extbarrel ( ) const
inherited

build identifier for Tile Extended Barrel

Definition at line 338 of file Tile_Base_ID.cxx.

339{
340 Identifier result;
341
342 int id[8];
345
346 Identifier compactId(0);
347 if (!dict()->pack32(id, 0, m_SECTION_INDEX, m_tile_region_index, compactId)) {
348 result = compactId;
349 }
350
351 return result;
352}

◆ tile_field_value()

int AtlasDetectorID::tile_field_value ( ) const
inlineprotectedinherited

Definition at line 470 of file AtlasDetectorID.h.

470{return (m_TILE_ID);}

◆ tile_gap()

Identifier Tile_Base_ID::tile_gap ( ) const
inherited

build identifier for Tile Gap detector (ITC + gap/crack scintillators)

Definition at line 357 of file Tile_Base_ID.cxx.

358{
359 Identifier result;
360
361 assert (!m_supercell);
362 int id[8];
365
366 Identifier compactId(0);
367 if (!dict()->pack32(id, 0, m_SECTION_INDEX, m_tile_region_index, compactId)) {
368 result = compactId;
369 }
370
371 return result;
372}

◆ tile_system()

Identifier Tile_Base_ID::tile_system ( ) const
inherited

build identifier for whole TileCal

Definition at line 303 of file Tile_Base_ID.cxx.

304{
305 Identifier result;
306
307 int id[8];
309
310 Identifier compactId(0);
311 if (!dict()->pack32(id, 0, m_SYSTEM_INDEX, m_tile_region_index, compactId)) {
312 result = compactId;
313 }
314
315 return result;
316}

◆ to_range()

std::string AtlasDetectorID::to_range ( const ExpandedIdentifier & id) const
protectedinherited

Definition at line 498 of file AtlasDetectorID.cxx.

498 {
499
500 // Build a string from the contents of an identifier
501 int fields = id.fields();
502 std::string result("");
503 for (int i = 0; i < fields; ++i) {
504 if (i > 0) {
505 result += '/'; // add '/' only if NOT last one
506 }
507 result += std::format("{}", id[i]);
508 }
509 return result;
510}

◆ to_string() [1/2]

std::string Tile_Base_ID::to_string ( const Identifier & id,
int level = 0 ) const
inherited

Definition at line 54 of file Tile_Base_ID.cxx.

55{
56 IdContext context;
57 switch (level) {
58 case 1: case -6:
59 case 2: case -5: context = region_context(); break;
60 case 3: case -4: context = module_context(); break;
61 case 4: case -3: context = tower_context(); break;
62 case 5: case -2: context = cell_context(); break;
63 case 6: case -1: context = pmt_context(); break;
64 case 7: case 0: context = adc_context(); break;
65 default:
66 return "Tile_Base_ID::to_string - unknown context";
67 }
68
69 ExpandedIdentifier exp_id;
70 if ( get_expanded_id(id,exp_id,&context) ) {
71 return "Tile_Base_ID::to_string - can not expand ID";
72 } else {
73 return (std::string)(exp_id);
74 }
75}
IdContext adc_context() const
id for ADCs
IdContext module_context() const
id for modules

◆ to_string() [2/2]

std::string Tile_Base_ID::to_string ( const IdentifierHash & hash_id,
int level = 0 ) const
inherited

Definition at line 78 of file Tile_Base_ID.cxx.

79{
80 IdContext context;
81 switch (level) {
82 case 1: case -6:
83 case 2: case -5: context = region_context(); break;
84 case 3: case -4: context = module_context(); break;
85 case 4: case -3: context = tower_context(); break;
86 case 5: case -2: context = cell_context(); break;
87 case 6: case -1: context = pmt_context(); break;
88 case 7: case 0: context = adc_context(); break;
89 default:
90 return "Tile_Base_ID::to_string - unknown context";
91 }
92
93 Identifier id;
94 if ( get_id ( hash_id, id, &context ) == 0 ) {
95 ExpandedIdentifier exp_id;
96 if ( get_expanded_id(id,exp_id,&context) ) {
97 return "Tile_Base_ID::to_string - can not expand ID";
98 } else {
99 return (std::string)(exp_id);
100 }
101 } else {
102 return "Tile_Base_ID::to_string - can not get ID from hash_id";
103 }
104}

◆ tower()

int Tile_Base_ID::tower ( const Identifier & id) const
inherited

Definition at line 167 of file Tile_Base_ID.cxx.

168{
169 return get_field(id,m_TOWER_INDEX);
170}

◆ tower_begin()

Tile_Base_ID::id_iterator Tile_Base_ID::tower_begin ( ) const
inherited

iterator over set of tower Identifiers

Definition at line 1348 of file Tile_Base_ID.cxx.

1349{
1350 return m_towers.begin();
1351}

◆ tower_context()

IdContext Tile_Base_ID::tower_context ( ) const
inherited

id for towers

Definition at line 1055 of file Tile_Base_ID.cxx.

1056{
1057 return {0, m_TOWER_INDEX};
1058}

◆ tower_end()

Tile_Base_ID::id_iterator Tile_Base_ID::tower_end ( ) const
inherited

Definition at line 1353 of file Tile_Base_ID.cxx.

1354{
1355 return m_towers.end();
1356}

◆ tower_hash_max()

Tile_Base_ID::size_type Tile_Base_ID::tower_hash_max ( ) const
inherited

Definition at line 1298 of file Tile_Base_ID.cxx.

1299{
1300 return m_towers.hash_max();
1301}

◆ tower_id() [1/5]

Identifier Tile_Base_ID::tower_id ( const ExpandedIdentifier & exp_id) const
inherited

Definition at line 1452 of file Tile_Base_ID.cxx.

1453{
1454 return this->tower_id (exp_id[m_SECTION_INDEX],
1455 exp_id[m_SIDE_INDEX],
1456 exp_id[m_MODULE_INDEX],
1457 exp_id[m_TOWER_INDEX]);
1458}

◆ tower_id() [2/5]

Identifier Tile_Base_ID::tower_id ( const Identifier & any_id) const
inherited

Definition at line 571 of file Tile_Base_ID.cxx.

572{
573 Identifier result;
574 // extract with the dictionary
575 Identifier id;
576 if(!dict()->copy(any_id, 0, 0, m_TOWER_INDEX, m_tile_region_index, id)) {
577 result = id;
578 }
579 return (result);
580}

◆ tower_id() [3/5]

bool Tile_Base_ID::tower_id ( const Identifier & region_id,
int module,
int tower,
Identifier & tower_id ) const
inherited

Definition at line 931 of file Tile_Base_ID.cxx.

933{
934 ExpandedIdentifier id;
935 IdContext context = region_context();
936 get_expanded_id(region_id, id, &context);
937 id << module << tower;
938 if (!m_full_tower_range.match(id)) {
939 return false;
940 }
941
942 Identifier compactId(0);
943 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
944 tower_id = compactId;
945 }
946 return true;
947}

◆ tower_id() [4/5]

Identifier Tile_Base_ID::tower_id ( int section,
int side,
int module,
int tower ) const
inherited

Definition at line 564 of file Tile_Base_ID.cxx.

566{
567 return tower_id (section, side, module, tower, do_checks());
568}

◆ tower_id() [5/5]

Identifier Tile_Base_ID::tower_id ( int section,
int side,
int module,
int tower,
bool checks ) const
inherited

Definition at line 527 of file Tile_Base_ID.cxx.

530{
531 if(checks) {
532
533 // Check that id is within allowed range
534
535 // Fill expanded id
536 ExpandedIdentifier expId(tile_exp());
537 expId << encode_section (section) << side << module << tower;
538
539 if (!m_full_tower_range.match(expId)) {
540 std::string errorMessage = "Tile_Base_ID::tower_id() result is not OK: ID, range = "
541 + std::string(expId) + " , " + (std::string)m_full_region_range;
542 throw TileID_Exception(errorMessage , 1);
543 }
544 }
545
546 Identifier result;
547
548 int id[8];
551 id[m_SIDE_INDEX] = side;
552 id[m_MODULE_INDEX] = module;
553 id[m_TOWER_INDEX] = tower;
554
555 Identifier compactId(0);
556 if (!dict()->pack32(id, 0, m_TOWER_INDEX, m_tile_region_index, compactId)) {
557 result = compactId;
558 }
559
560 return result;
561}

◆ tower_ids()

const std::vector< Identifier > & Tile_Base_ID::tower_ids ( ) const
inherited

Definition at line 1418 of file Tile_Base_ID.cxx.

1419{
1420 return m_towers.ids();
1421}

◆ tower_range()

Tile_Base_ID::id_range Tile_Base_ID::tower_range ( ) const
inherited

Definition at line 1358 of file Tile_Base_ID.cxx.

1359{
1360 return m_towers.range();
1361}

◆ trt()

Identifier AtlasDetectorID::trt ( void ) const
inherited

Definition at line 108 of file AtlasDetectorID.cxx.

108 {
109 Identifier result{0};
110 // Pack field
111 m_det_impl.pack(indet_field_value(), result);
112 m_indet_part_impl.pack(m_TRT_ID, result);
113 return result;
114}

◆ trt_exp()

ExpandedIdentifier AtlasDetectorID::trt_exp ( void ) const
protectedinherited

Definition at line 1098 of file AtlasDetectorID.cxx.

1099{
1100 ExpandedIdentifier result(indet_exp());
1101 return (result << m_TRT_ID);
1102}

◆ trt_field_value()

int AtlasDetectorID::trt_field_value ( ) const
inlineprotectedinherited

Definition at line 485 of file AtlasDetectorID.h.

485{return (m_TRT_ID);}

◆ zdc_exp()

ExpandedIdentifier AtlasDetectorID::zdc_exp ( void ) const
protectedinherited

Definition at line 1161 of file AtlasDetectorID.cxx.

1162{
1163 ExpandedIdentifier result(fwd_exp());
1164 return (result << m_ZDC_ID);
1165}

◆ zdc_field_value()

int AtlasDetectorID::zdc_field_value ( ) const
inlineprotectedinherited

Definition at line 532 of file AtlasDetectorID.h.

532{return (m_ZDC_ID);}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_adc_impl

IdDictFieldImplementation Tile_Base_ID::m_adc_impl
privateinherited

Definition at line 356 of file Tile_Base_ID.h.

◆ m_ADC_INDEX

size_type Tile_Base_ID::m_ADC_INDEX
privateinherited

Definition at line 347 of file Tile_Base_ID.h.

◆ m_adcs

CaloIDHelper::HashGroup Tile_Base_ID::m_adcs
privateinherited

Definition at line 369 of file Tile_Base_ID.h.

◆ m_ALFA_ID

int AtlasDetectorID::m_ALFA_ID {1}
privateinherited

Definition at line 409 of file AtlasDetectorID.h.

409{1};

◆ m_atlas_dict

const IdDictDictionary* AtlasDetectorID::m_atlas_dict {}
privateinherited

Definition at line 420 of file AtlasDetectorID.h.

420{};

◆ m_BCM_ID

int AtlasDetectorID::m_BCM_ID {3}
privateinherited

Definition at line 410 of file AtlasDetectorID.h.

410{3};

◆ m_calo_dict

const IdDictDictionary* AtlasDetectorID::m_calo_dict {}
privateinherited

Definition at line 425 of file AtlasDetectorID.h.

425{};

◆ m_CALO_ID

int AtlasDetectorID::m_CALO_ID {10}
privateinherited

Definition at line 391 of file AtlasDetectorID.h.

391{10};

◆ m_calo_side_impl

IdDictFieldImplementation AtlasDetectorID::m_calo_side_impl
privateinherited

Definition at line 430 of file AtlasDetectorID.h.

◆ m_channels

HashGroup CaloIDHelper::m_channels
privateinherited

Group of channel (cell) Identifiers.

Definition at line 326 of file CaloIDHelper.h.

◆ m_CSC_ID

int AtlasDetectorID::m_CSC_ID {1}
privateinherited

Definition at line 403 of file AtlasDetectorID.h.

403{1};

◆ m_det_impl

IdDictFieldImplementation AtlasDetectorID::m_det_impl
privateinherited

Definition at line 428 of file AtlasDetectorID.h.

◆ m_DET_INDEX

size_type AtlasDetectorID::m_DET_INDEX {999}
privateinherited

Definition at line 384 of file AtlasDetectorID.h.

384{999};

◆ m_dict

const IdDictDictionary* CaloIDHelper::m_dict
privateinherited

The dictionary for this helper.

Definition at line 332 of file CaloIDHelper.h.

◆ m_dict_names

std::vector<std::string> AtlasDetectorID::m_dict_names
protectedinherited

List of dictionary names used by this helper.

Definition at line 360 of file AtlasDetectorID.h.

◆ m_dict_tags

std::vector<std::string> AtlasDetectorID::m_dict_tags
protectedinherited

List of dictionary versions used by this helper.

Definition at line 366 of file AtlasDetectorID.h.

◆ m_dict_version

std::string AtlasDetectorID::m_dict_version
privateinherited

Definition at line 382 of file AtlasDetectorID.h.

◆ m_do_checks

bool AtlasDetectorID::m_do_checks {}
protectedinherited

Flag for subclasses to know whether or not to perform checks.

In general, this is set to false in optimized mode.

Definition at line 354 of file AtlasDetectorID.h.

354{};

◆ m_do_neighbours

bool AtlasDetectorID::m_do_neighbours {true}
protectedinherited

Flag for subclasses to know whether or not to perform neighbour initialization.

Definition at line 357 of file AtlasDetectorID.h.

357{true};

◆ m_file_names

std::vector<std::string> AtlasDetectorID::m_file_names
protectedinherited

List of dictionary file names used by this helper.

Definition at line 363 of file AtlasDetectorID.h.

◆ m_full_adc_range

MultiRange Tile_Base_ID::m_full_adc_range
privateinherited

Definition at line 364 of file Tile_Base_ID.h.

◆ m_full_cell_range

MultiRange Tile_Base_ID::m_full_cell_range
privateinherited

Definition at line 362 of file Tile_Base_ID.h.

◆ m_full_module_range

MultiRange Tile_Base_ID::m_full_module_range
privateinherited

Definition at line 360 of file Tile_Base_ID.h.

◆ m_full_pmt_range

MultiRange Tile_Base_ID::m_full_pmt_range
privateinherited

Definition at line 363 of file Tile_Base_ID.h.

◆ m_full_region_range

MultiRange Tile_Base_ID::m_full_region_range
privateinherited

Definition at line 359 of file Tile_Base_ID.h.

◆ m_full_tower_range

MultiRange Tile_Base_ID::m_full_tower_range
privateinherited

Definition at line 361 of file Tile_Base_ID.h.

◆ m_fwd_dict

const IdDictDictionary* AtlasDetectorID::m_fwd_dict {}
privateinherited

Definition at line 426 of file AtlasDetectorID.h.

426{};

◆ m_FWD_ID

int AtlasDetectorID::m_FWD_ID {13}
privateinherited

Definition at line 408 of file AtlasDetectorID.h.

408{13};

◆ m_fwd_part_impl

IdDictFieldImplementation AtlasDetectorID::m_fwd_part_impl
privateinherited

Definition at line 436 of file AtlasDetectorID.h.

◆ m_group

std::string AtlasDetectorID::m_group
protectedinherited

Group name.

Definition at line 350 of file AtlasDetectorID.h.

◆ m_helper

AtlasDetectorIDHelper* AtlasDetectorID::m_helper {}
privateinherited

Definition at line 427 of file AtlasDetectorID.h.

427{};

◆ m_HGTD_ID

int AtlasDetectorID::m_HGTD_ID {4}
privateinherited

Definition at line 395 of file AtlasDetectorID.h.

395{4};

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_indet_dict

const IdDictDictionary* AtlasDetectorID::m_indet_dict {}
privateinherited

Definition at line 421 of file AtlasDetectorID.h.

421{};

◆ m_INDET_ID

int AtlasDetectorID::m_INDET_ID {2}
privateinherited

Definition at line 387 of file AtlasDetectorID.h.

387{2};

◆ m_indet_part_impl

IdDictFieldImplementation AtlasDetectorID::m_indet_part_impl
privateinherited

Definition at line 429 of file AtlasDetectorID.h.

◆ m_is_initialized_from_dict

bool AtlasDetectorID::m_is_initialized_from_dict {}
privateinherited

Definition at line 383 of file AtlasDetectorID.h.

383{};

◆ m_isHighLuminosityLHC

bool AtlasDetectorID::m_isHighLuminosityLHC {}
privateinherited

Definition at line 414 of file AtlasDetectorID.h.

414{};

◆ m_lar_dict

const IdDictDictionary* AtlasDetectorID::m_lar_dict {}
privateinherited

Definition at line 422 of file AtlasDetectorID.h.

422{};

◆ m_lar_dm_field

Range::field AtlasDetectorID::m_lar_dm_field
privateinherited

Definition at line 418 of file AtlasDetectorID.h.

◆ m_LAR_EM_ID

int AtlasDetectorID::m_LAR_EM_ID {1}
privateinherited

Definition at line 398 of file AtlasDetectorID.h.

398{1};

◆ m_LAR_FCAL_ID

int AtlasDetectorID::m_LAR_FCAL_ID {3}
privateinherited

Definition at line 400 of file AtlasDetectorID.h.

400{3};

◆ m_lar_fcal_module_impl

IdDictFieldImplementation AtlasDetectorID::m_lar_fcal_module_impl
privateinherited

Definition at line 432 of file AtlasDetectorID.h.

◆ m_LAR_FCAL_MODULE_INDEX

int AtlasDetectorID::m_LAR_FCAL_MODULE_INDEX {999}
privateinherited

Definition at line 401 of file AtlasDetectorID.h.

401{999};

◆ m_LAR_HEC_ID

int AtlasDetectorID::m_LAR_HEC_ID {2}
privateinherited

Definition at line 399 of file AtlasDetectorID.h.

399{2};

◆ m_LAR_ID

int AtlasDetectorID::m_LAR_ID {4}
privateinherited

Definition at line 388 of file AtlasDetectorID.h.

388{4};

◆ m_lar_part_impl

IdDictFieldImplementation AtlasDetectorID::m_lar_part_impl
privateinherited

Definition at line 431 of file AtlasDetectorID.h.

◆ m_LUCID_ID

int AtlasDetectorID::m_LUCID_ID {5}
privateinherited

Definition at line 411 of file AtlasDetectorID.h.

411{5};

◆ m_LUMI_ID

int AtlasDetectorID::m_LUMI_ID {3}
privateinherited

Definition at line 396 of file AtlasDetectorID.h.

396{3};

◆ m_LUMI_PLR_ID

int AtlasDetectorID::m_LUMI_PLR_ID {1}
privateinherited

Definition at line 397 of file AtlasDetectorID.h.

397{1};

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_lvl1_field

Range::field AtlasDetectorID::m_lvl1_field
privateinherited

Definition at line 416 of file AtlasDetectorID.h.

◆ m_lvl1_onl_field

Range::field AtlasDetectorID::m_lvl1_onl_field
privateinherited

Definition at line 417 of file AtlasDetectorID.h.

◆ m_MDT_ID

int AtlasDetectorID::m_MDT_ID {0}
privateinherited

Definition at line 402 of file AtlasDetectorID.h.

402{0};

◆ m_MM_ID

int AtlasDetectorID::m_MM_ID {5}
privateinherited

Definition at line 407 of file AtlasDetectorID.h.

407{5};

◆ m_module_impl

IdDictFieldImplementation Tile_Base_ID::m_module_impl
privateinherited

Definition at line 352 of file Tile_Base_ID.h.

◆ m_MODULE_INDEX

size_type Tile_Base_ID::m_MODULE_INDEX
privateinherited

Definition at line 343 of file Tile_Base_ID.h.

◆ m_modules

CaloIDHelper::HashGroup Tile_Base_ID::m_modules
privateinherited

Definition at line 366 of file Tile_Base_ID.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_muon_dict

const IdDictDictionary* AtlasDetectorID::m_muon_dict {}
privateinherited

Definition at line 424 of file AtlasDetectorID.h.

424{};

◆ m_MUON_ID

int AtlasDetectorID::m_MUON_ID {7}
privateinherited

Definition at line 390 of file AtlasDetectorID.h.

390{7};

◆ m_muon_mdt_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_mdt_impl
privateinherited

Definition at line 434 of file AtlasDetectorID.h.

◆ m_muon_rpc_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_rpc_impl
privateinherited

Definition at line 435 of file AtlasDetectorID.h.

◆ m_muon_station_name_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_station_name_impl
privateinherited

Definition at line 433 of file AtlasDetectorID.h.

◆ m_MUON_SUBDET_INDEX

size_type AtlasDetectorID::m_MUON_SUBDET_INDEX {999}
privateinherited

Definition at line 386 of file AtlasDetectorID.h.

386{999};

◆ m_muon_tech_bits

std::vector<unsigned int> AtlasDetectorID::m_muon_tech_bits
privateinherited

Definition at line 439 of file AtlasDetectorID.h.

◆ m_name

std::string CaloIDHelper::m_name
privateinherited

Name of this helper.

Definition at line 323 of file CaloIDHelper.h.

◆ m_neighbour

TileNeighbour Tile_Base_ID::m_neighbour
privateinherited

Definition at line 371 of file Tile_Base_ID.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_PIXEL_ID

int AtlasDetectorID::m_PIXEL_ID {1}
privateinherited

Definition at line 392 of file AtlasDetectorID.h.

392{1};

◆ m_pmt_impl

IdDictFieldImplementation Tile_Base_ID::m_pmt_impl
privateinherited

Definition at line 355 of file Tile_Base_ID.h.

◆ m_PMT_INDEX

size_type Tile_Base_ID::m_PMT_INDEX
privateinherited

Definition at line 346 of file Tile_Base_ID.h.

◆ m_pmts

CaloIDHelper::HashGroup Tile_Base_ID::m_pmts
privateinherited

Definition at line 368 of file Tile_Base_ID.h.

◆ m_regions

HashGroup CaloIDHelper::m_regions
privateinherited

Group of region Identifiers.

Definition at line 329 of file CaloIDHelper.h.

◆ m_RPC_ID

int AtlasDetectorID::m_RPC_ID {2}
privateinherited

Definition at line 404 of file AtlasDetectorID.h.

404{2};

◆ m_sample_impl

IdDictFieldImplementation Tile_Base_ID::m_sample_impl
privateinherited

Definition at line 354 of file Tile_Base_ID.h.

◆ m_SAMPLE_INDEX

size_type Tile_Base_ID::m_SAMPLE_INDEX
privateinherited

Definition at line 345 of file Tile_Base_ID.h.

◆ m_SCT_ID

int AtlasDetectorID::m_SCT_ID {2}
privateinherited

Definition at line 393 of file AtlasDetectorID.h.

393{2};

◆ m_section_impl

IdDictFieldImplementation Tile_Base_ID::m_section_impl
privateinherited

Definition at line 350 of file Tile_Base_ID.h.

◆ m_SECTION_INDEX

size_type Tile_Base_ID::m_SECTION_INDEX
privateinherited

Definition at line 341 of file Tile_Base_ID.h.

◆ m_side_impl

IdDictFieldImplementation Tile_Base_ID::m_side_impl
privateinherited

Definition at line 351 of file Tile_Base_ID.h.

◆ m_SIDE_INDEX

size_type Tile_Base_ID::m_SIDE_INDEX
privateinherited

Definition at line 342 of file Tile_Base_ID.h.

◆ m_slar_impl

IdDictFieldImplementation Tile_Base_ID::m_slar_impl
privateinherited

Definition at line 357 of file Tile_Base_ID.h.

◆ m_STGC_ID

int AtlasDetectorID::m_STGC_ID {4}
privateinherited

Definition at line 406 of file AtlasDetectorID.h.

406{4};

◆ m_SUBDET_INDEX

size_type AtlasDetectorID::m_SUBDET_INDEX {999}
privateinherited

Definition at line 385 of file AtlasDetectorID.h.

385{999};

◆ m_supercell

unsigned Tile_Base_ID::m_supercell
privateinherited

Definition at line 337 of file Tile_Base_ID.h.

◆ m_system_impl

IdDictFieldImplementation Tile_Base_ID::m_system_impl
privateinherited

Definition at line 349 of file Tile_Base_ID.h.

◆ m_SYSTEM_INDEX

size_type Tile_Base_ID::m_SYSTEM_INDEX
privateinherited

Definition at line 340 of file Tile_Base_ID.h.

◆ m_TGC_ID

int AtlasDetectorID::m_TGC_ID {3}
privateinherited

Definition at line 405 of file AtlasDetectorID.h.

405{3};

◆ m_tile_dict

const IdDictDictionary* AtlasDetectorID::m_tile_dict {}
privateinherited

Definition at line 423 of file AtlasDetectorID.h.

423{};

◆ m_tile_dm_field

Range::field AtlasDetectorID::m_tile_dm_field
privateinherited

Definition at line 419 of file AtlasDetectorID.h.

◆ m_TILE_ID

int AtlasDetectorID::m_TILE_ID {5}
privateinherited

Definition at line 389 of file AtlasDetectorID.h.

389{5};

◆ m_tile_region_index

size_type Tile_Base_ID::m_tile_region_index
privateinherited

Definition at line 339 of file Tile_Base_ID.h.

◆ m_tower_impl

IdDictFieldImplementation Tile_Base_ID::m_tower_impl
privateinherited

Definition at line 353 of file Tile_Base_ID.h.

◆ m_TOWER_INDEX

size_type Tile_Base_ID::m_TOWER_INDEX
privateinherited

Definition at line 344 of file Tile_Base_ID.h.

◆ m_towers

CaloIDHelper::HashGroup Tile_Base_ID::m_towers
privateinherited

Definition at line 367 of file Tile_Base_ID.h.

◆ m_TRT_ID

int AtlasDetectorID::m_TRT_ID {3}
privateinherited

Definition at line 394 of file AtlasDetectorID.h.

394{3};

◆ m_vecOfDictRegions

std::vector<const IdDictRegion*> CaloIDHelper::m_vecOfDictRegions
privateinherited

List of IdDictRegion objects.

Definition at line 335 of file CaloIDHelper.h.

◆ m_ZDC_ID

int AtlasDetectorID::m_ZDC_ID {7}
privateinherited

Definition at line 412 of file AtlasDetectorID.h.

412{7};

The documentation for this class was generated from the following files: