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

Helper class for TileCal offline identifiers. More...

#include <TileID.h>

Inheritance diagram for TileID:
Collaboration diagram for TileID:

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

 TileID ()
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.
'structors
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

Static Public Attributes

static constexpr int invalidIndex {999}
static constexpr int invalidId {-1}

Protected Member Functions

int fill_vec_of_dict_regions (const std::string &group_name="")
 Do basic initialization of the helper.

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 ()
*Group of channel (cell) Identifiers. HashGroup m_channels
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
*Name of this helper std::string m_name
*Group of region Identifiers HashGroup m_regions
*The dictionary for this helper const IdDictDictionarym_dict
*List of c IdDictRegion objects std::vector< const IdDictRegion * > m_vecOfDictRegions
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).

Friends

class TileNeighbour

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
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 {}
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}
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
Range::field m_lvl1_field
Range::field m_lvl1_onl_field
Range::field m_lar_dm_field
Range::field m_tile_dm_field
std::unique_ptr< AtlasDetectorIDHelperm_helper {}
std::vector< unsigned int > m_muon_tech_bits
bool m_is_initialized_from_dict {}
bool m_isHighLuminosityLHC {}
const IdDictDictionarydictionary (const Identifier &id) const
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.
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.
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.

Detailed Description

Helper class for TileCal offline identifiers.

Author
Alexander Solodkov

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 15     section number  ( 1 = Barrel
                                           2 = Extended Barrel
                                           3 = Gap Detector
                                               i.e. gap scin E1-E4 and ITC cells D4, C10
                                           4 = Ancillary detectors )
                          section codes 5 and 6 are used internally
                          for supercell barrel and extbarrel, respectively.
 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 to 15     0 = A, 1 = B = BC = C, 2 = D, 3 = special gap scin cells E1-E4
                         4-15 = individual tiles, used in Cesium calibration data
 pmt         0 to 1      PMT number in the cell (0 = side close to module with smaller number)
 adc         0 to 1      ADC number for the PMT (0 = low gain, 1 = high gain)

Definition at line 67 of file TileID.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 207 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 209 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 262 of file Tile_Base_ID.h.

262{NOT_VALID_HASH = 64000};

◆ GAIN

enum Tile_Base_ID::GAIN
inherited
Enumerator
LOWGAIN 
HIGHGAIN 

Definition at line 55 of file Tile_Base_ID.h.

55{ 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 56 of file AtlasDetectorID.h.

56 {
57 Unimplemented = -1,
58 Silicon = 0,
59 Pixel, PLR, SCT, TRT,
60 //inherits from CaloIDHelper
61 LArEM, LArFCal, LArFCalSuperCell,
62 LArHEC, LArHEC_SuperCell, LARMiniFCal,
63 Tile, TileSuperCell,
64 //
65 //inherit from LArOnlineId
66 LArOnline, LArOnlineSuperCell,
67 //
68 LArElectrode, LArHVLine,
69 TileHardware, TileTestbeam,
70 CaloCell, CaloSuperCell,
71 CaloDM, CaloLvl1,
72 //inherit from JGTowerBase
73 GTower, JTower,
74 //
75 Muon,
76 LUCID, LUCID_Hardware,
77 Zdc,ZdcHardware,
78 TT
79 };
@ 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 377 of file AtlasDetectorID.h.

377 {
378 ATLAS_ID = static_cast<Identifier::value_type>(0),
379 MAX_BIT = Identifier::MAX_BIT,
380 // mask to distinguish a pixel id from lvl1 id (bit 1 set)
381 PIXEL_MASK = static_cast<Identifier::value_type>(0xFF),
383 };

◆ 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 51 of file Tile_Base_ID.h.

51 { SAMP_A = 0,
52 SAMP_B = 1, SAMP_BC = 1, SAMP_C = 1, // synonyms
53 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 46 of file Tile_Base_ID.h.

◆ SIDE

enum Tile_Base_ID::SIDE
inherited
Enumerator
NEGATIVE 
POSITIVE 
TWOSIDES 

Definition at line 54 of file Tile_Base_ID.h.

◆ SIZE

enum Tile_Base_ID::SIZE
inherited
Enumerator
NSIDES 
NSECTIONS 
NREGIONS 

Definition at line 56 of file Tile_Base_ID.h.

Constructor & Destructor Documentation

◆ TileID()

TileID::TileID ( )

Definition at line 22 of file TileID.cxx.

23 : Tile_Base_ID ("TileID", "tile", false)
24{
25}
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 186 of file Tile_Base_ID.cxx.

187{
188 return get_field(id,m_ADC_INDEX);
189}
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 1391 of file Tile_Base_ID.cxx.

1392{
1393 return m_adcs.begin();
1394}
CaloIDHelper::HashGroup m_adcs

◆ adc_context()

IdContext Tile_Base_ID::adc_context ( ) const
inherited

id for ADCs

Definition at line 1071 of file Tile_Base_ID.cxx.

1072{
1073 return {0, m_ADC_INDEX};
1074}

◆ adc_end()

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

Definition at line 1396 of file Tile_Base_ID.cxx.

1397{
1398 return m_adcs.end();
1399}

◆ adc_hash_max()

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

Definition at line 1311 of file Tile_Base_ID.cxx.

1312{
1313 return m_adcs.hash_max();
1314}

◆ adc_id() [1/9]

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

Definition at line 1477 of file Tile_Base_ID.cxx.

1478{
1479 return this->adc_id (exp_id[m_SECTION_INDEX],
1480 exp_id[m_SIDE_INDEX],
1481 exp_id[m_MODULE_INDEX],
1482 exp_id[m_TOWER_INDEX],
1483 exp_id[m_SAMPLE_INDEX],
1484 exp_id[m_PMT_INDEX],
1485 exp_id[m_ADC_INDEX]);
1486}
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 802 of file Tile_Base_ID.cxx.

804{
805 return adc_id (cell_id, pmt, adc, do_checks());
806}
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 754 of file Tile_Base_ID.cxx.

756{
757 Identifier result;
758
759 int id[8];
760 id[0] = pmt;
761 id[1] = adc;
762
763 Identifier compactId(cell_id);
764 if (!dict()->pack32(id, m_PMT_INDEX, m_ADC_INDEX, m_tile_region_index, compactId)) {
765 result = compactId;
766 }
767 else {
768 std::string errorMessage = "Tile_Base_ID::adc_id(cell_id,pmt,adc) could not pack ID: "
769 + cell_id.getString() ;
770 throw TileID_Exception(errorMessage , 1);
771 }
772
773 if(checks) {
774
775 // Check that id is within allowed range
776
777 // Fill expanded id
778 ExpandedIdentifier expId;
779
780 IdContext context = cell_context();
781 if (get_expanded_id(result, expId, &context)) {
782 std::string errorMessage = "Tile_Base_ID::adc_id(cell_id,pmt,adc) result is not OK: ID = "
783 + result.getString() ;
784 throw TileID_Exception(errorMessage , 1);
785
786 // region_id.show();
787 }
788
789 expId << pmt << adc;
790
791 if (!m_full_adc_range.match(expId)) {
792 std::string errorMessage = "Tile_Base_ID::adc_id() result is not OK: ID, range = "
793 + std::string(expId) + " , " + (std::string)m_full_region_range;
794 throw TileID_Exception(errorMessage , 1);
795 }
796 }
797
798 return result;
799}
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 1002 of file Tile_Base_ID.cxx.

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

◆ adc_id() [5/9]

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

Definition at line 856 of file Tile_Base_ID.cxx.

858{
859 return adc_id (pmt_id, adc, do_checks());
860}
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 809 of file Tile_Base_ID.cxx.

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

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

◆ 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 904 of file Tile_Base_ID.cxx.

907{
908 return adc_id (section, side, module, tower, sample, pmt, adc, do_checks());
909}
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 863 of file Tile_Base_ID.cxx.

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

1432{
1433 return m_adcs.ids();
1434}

◆ adc_range()

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

Definition at line 1401 of file Tile_Base_ID.cxx.

1402{
1403 return m_adcs.range();
1404}

◆ alfa_exp()

ExpandedIdentifier AtlasDetectorID::alfa_exp ( void ) const
protectedinherited

Forward.

Definition at line 1053 of file AtlasDetectorID.cxx.

1054{
1055 ExpandedIdentifier result(fwd_exp());
1056 return (result << m_ALFA_ID);
1057}
ExpandedIdentifier fwd_exp(void) const

◆ alfa_field_value()

int AtlasDetectorID::alfa_field_value ( ) const
inlineprotectedinherited

Definition at line 516 of file AtlasDetectorID.h.

516{return (m_ALFA_ID);}

◆ bcm_exp()

ExpandedIdentifier AtlasDetectorID::bcm_exp ( void ) const
protectedinherited

Definition at line 1060 of file AtlasDetectorID.cxx.

1061{
1062 ExpandedIdentifier result(fwd_exp());
1063 return (result << m_BCM_ID);
1064}

◆ bcm_field_value()

int AtlasDetectorID::bcm_field_value ( ) const
inlineprotectedinherited

Definition at line 518 of file AtlasDetectorID.h.

518{return (m_BCM_ID);}

◆ calo()

Identifier AtlasDetectorID::calo ( void ) const
inherited

Definition at line 78 of file AtlasDetectorID.cxx.

78 {
79 return m_det_impl.new_pack(calo_field_value());
80}
IdDictFieldImplementation m_det_impl
int calo_field_value() const

◆ calo_exp()

ExpandedIdentifier AtlasDetectorID::calo_exp ( void ) const
protectedinherited

Definition at line 983 of file AtlasDetectorID.cxx.

984{
985 ExpandedIdentifier result;
986 return (result << m_CALO_ID);
987}

◆ calo_field_value()

int AtlasDetectorID::calo_field_value ( ) const
inlineprotectedinherited

Definition at line 466 of file AtlasDetectorID.h.

466{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 1361 of file Tile_Base_ID.cxx.

1362{
1363 return channels().begin();
1364}
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 1059 of file Tile_Base_ID.cxx.

1060{
1061 return {0, m_SAMPLE_INDEX};
1062}

◆ cell_end()

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

Definition at line 1366 of file Tile_Base_ID.cxx.

1367{
1368 return channels().end();
1369}
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 1030 of file Tile_Base_ID.cxx.

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

1302{
1303 return channels().hash_max();
1304}
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 1458 of file Tile_Base_ID.cxx.

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

◆ cell_id() [2/6]

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

Definition at line 581 of file Tile_Base_ID.cxx.

582{
583 Identifier result;
584 // extract with the dictionary
585 Identifier id;
586 if(!dict()->copy(any_id, 0, 0, m_SAMPLE_INDEX, m_tile_region_index, id)) {
587 result = id;
588 }
589 return (result);
590}
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 947 of file Tile_Base_ID.cxx.

950{
951 ExpandedIdentifier id;
952 IdContext context = region_context();
953 get_expanded_id(region_id, id, &context);
954 id << module << tower << sample;
955 if (!m_full_cell_range.match(id)) {
956 return false;
957 }
958
959 Identifier compactId(0);
960 if (!dict()->pack32(id,0, id.fields() - 1,compactId)) {
961 cell_id = compactId;
962 }
963 return true;
964}
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 1020 of file Tile_Base_ID.cxx.

1021{
1022 if (hash_id < channels().hash_max()) {
1023 return channel_id (hash_id);
1024 } else {
1025 std::string errorMessage = "Tile_Base_ID::cell_id(hash_id) - hash_id out of range ";
1026 throw TileID_Exception(errorMessage , 1);
1027 }
1028}
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 632 of file Tile_Base_ID.cxx.

635{
636 return cell_id (section, side, module, tower, sample, do_checks());
637}

◆ 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 593 of file Tile_Base_ID.cxx.

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

◆ cell_ids()

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

Definition at line 1421 of file Tile_Base_ID.cxx.

1422{
1423 return channels().ids();
1424}
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 1371 of file Tile_Base_ID.cxx.

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

◆ channel()

*Group of CaloIDHelper::channel ( cell )
privateinherited

◆ 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()

const HashGroup & CaloIDHelper::channels ( ) const
inherited

Return the HashGroup for channels (cells).

◆ csc()

Identifier AtlasDetectorID::csc ( void ) const
inherited

Definition at line 47 of file AtlasDetectorID.cxx.

47 {
48 return Identifier{};
49}

◆ csc_field_value()

int AtlasDetectorID::csc_field_value ( ) const
inlineprotectedinherited

Definition at line 499 of file AtlasDetectorID.h.

499{return (m_CSC_ID);}

◆ decode_section()

int Tile_Base_ID::decode_section ( int section) const
inlineprivateinherited

Definition at line 312 of file Tile_Base_ID.h.

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

◆ detsystem_context()

IdContext AtlasDetectorID::detsystem_context ( void ) const
inherited

IdContext (indicates id length) for detector systems.

Definition at line 127 of file AtlasDetectorID.cxx.

127 {
128 ExpandedIdentifier id{};
129 return IdContext{id, 0, m_DET_INDEX};
130}

◆ dict_names()

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

Dictionary names.

Definition at line 382 of file AtlasDetectorID.cxx.

382 {
383 return m_dict_names;
384}
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 388 of file AtlasDetectorID.cxx.

388 {
389 return m_dict_tags;
390}
std::vector< std::string > m_dict_tags
List of dictionary versions used by this helper.

◆ dictionary()

const IdDictDictionary * AtlasDetectorID::dictionary ( const Identifier & id) const
privateinherited

Definition at line 1080 of file AtlasDetectorID.cxx.

1080 {
1081 if (is_indet(id)) {
1082 return m_indet_dict;
1083 }
1084 if (is_lar(id)) {
1085 return m_lar_dict;
1086 }
1087 if (is_tile(id)) {
1088 return m_tile_dict;
1089 }
1090 if (is_muon(id)) {
1091 return m_muon_dict;
1092 }
1093 if (is_lvl1_trig_towers(id) || is_lvl1_online(id) || is_lar_dm(id) || is_tile_dm(id)) {
1094 return m_calo_dict;
1095 }
1096 if (is_forward(id)) {
1097 return m_fwd_dict;
1098 }
1099 return nullptr;
1100}
const IdDictDictionary * m_calo_dict
const IdDictDictionary * m_muon_dict
bool is_indet(Identifier id) const
bool is_lar(Identifier id) const
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_muon(Identifier id) const
bool is_tile_dm(Identifier id) const
bool is_tile(Identifier id) const
const IdDictDictionary * m_indet_dict
bool is_forward(Identifier id) const
const IdDictDictionary * m_lar_dict
bool is_lvl1_trig_towers(Identifier id) const

◆ dictionaryVersion()

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

Implements IdHelper.

Definition at line 227 of file AtlasDetectorID.cxx.

227 {
228 return m_dict_version;
229}
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 391 of file AtlasDetectorID.cxx.

391 {
392 return m_do_checks;
393}
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 398 of file AtlasDetectorID.cxx.

398 {
399 return m_do_neighbours;
400}
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 317 of file Tile_Base_ID.h.

318 {
320 }
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}
*List of c IdDictRegion objects std::vector< const IdDictRegion * > m_vecOfDictRegions

◆ eta_max() [1/2]

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

Definition at line 1539 of file Tile_Base_ID.cxx.

1540{
1541 IdContext context = cell_context();
1542 return eta_max (id, context);
1543}
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 1513 of file Tile_Base_ID.cxx.

1514{
1515 ExpandedIdentifier expId;
1516 if(!get_expanded_id(id, expId, &context)) {
1517 int result = -999;
1518 for (unsigned int i = 0; i < m_full_cell_range.size(); ++i) {
1519 const Range& range = m_full_cell_range[i];
1520 if (range.match(expId)) {
1521 const Range::field& eta_field = range[m_TOWER_INDEX];
1522 if (not eta_field.empty()) {
1523 int etamax = eta_field.get_maximum();
1524 if (result < etamax) result = etamax;
1525 }
1526 }
1527 }
1528 return (result);
1529 }
1530 return (-999); // default
1531}
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 1533 of file Tile_Base_ID.cxx.

1534{
1535 IdContext context = tower_context();
1536 return eta_min (id, context);
1537}
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 1488 of file Tile_Base_ID.cxx.

1489{
1490 ExpandedIdentifier expId;
1491 if(!get_expanded_id(id, expId, &context)) {
1492 int result = -999;
1493 for (unsigned int i = 0; i < m_full_tower_range.size(); ++i) {
1494 const Range& range = m_full_tower_range[i];
1495 if (range.match(expId)) {
1496 const Range::field& eta_field = range[m_TOWER_INDEX];
1497 if (not eta_field.empty()) {
1498 int etamin = eta_field.get_minimum();
1499 if (-999 == result) {
1500 result = etamin;
1501 }
1502 else {
1503 if (etamin < result) result = etamin;
1504 }
1505 }
1506 }
1507 }
1508 return (result);
1509 }
1510 return (-999);
1511}
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 385 of file AtlasDetectorID.cxx.

385 {
386 return m_file_names;
387}
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

Do basic initialization of the helper.

Parameters
dict_mgrThe dictionary manager returned from the parser.
dict_nameThe dictionary name (eg, `LArCalorimeter').
Returns
0 on success, non-zero on failure. */ int initialize_base_from_dictionary (const IdDictMgr& dict_mgr, const std::string& dict_name);

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

Return the dictionary for this subdetector. const IdDictDictionary* dict() const;

/**

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.
Parameters
dict_mgrThe dictionary manager returned from the parser.
dict_nameThe dictionary name (eg, `LArCalorimeter').
Returns
0 on success, non-zero on failure. */ int CaloIDHelper::initialize_base_from_dictionary (const IdDictMgr& dict_mgr, const std::string& dict_name) { init base object if(AtlasDetectorID::initialize_from_dictionary(dict_mgr)) return (1);

Register version of dictionary if (register_dict_tag(dict_mgr, dict_name)) return(1);

m_dict = dict_mgr.find_dictionary (dict_name); if(!m_dict) { ATH_MSG_ERROR("cannot access " << dict_name << "dictionary"); return 1; } return 0; }

/**

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.
*The dictionary for this helper const IdDictDictionary * m_dict

◆ 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 514 of file AtlasDetectorID.h.

514{return (m_FWD_ID);}

◆ fwd_exp()

ExpandedIdentifier AtlasDetectorID::fwd_exp ( void ) const
protectedinherited

Definition at line 990 of file AtlasDetectorID.cxx.

991{
992 ExpandedIdentifier result;
993 return (result << m_FWD_ID);
994}

◆ 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 1578 of file Tile_Base_ID.cxx.

1581{
1582 int result = 1;
1583
1584 size_t begin = (context) ? context->begin_index() : 0;
1585 size_t end = (context) ? context->end_index() : m_ADC_INDEX;
1586 assert (end <= m_ADC_INDEX);
1587
1588 if (0 == end) {
1589 result = 0;
1590 }
1591 else if ( 0 == begin) {
1592 ExpandedIdentifier empty;
1593 result = dict()->unpack(group(), id, empty, end, exp_id);
1594 }
1595 else {
1596 result = dict()->unpack(group(), id, context->prefix_id(), end, exp_id);
1597 }
1598 return result;
1599}
static const Attributes_t empty
const std::string & group() const
Group name for this helper.

◆ get_field()

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

unpack one field from Identifier

Definition at line 108 of file Tile_Base_ID.cxx.

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

◆ 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 1145 of file Tile_Base_ID.cxx.

1148{
1149 hash_id = 0;
1150 int result = 1;
1151
1152 size_t begin = (context) ? context->begin_index(): 0;
1153 size_t end = (context) ? context->end_index() : 0;
1154
1155 if (0 == begin) {
1156 if ( m_ADC_INDEX == end ) {
1157 result = m_adcs.get_hash (id, hash_id);
1158 } else if ( m_PMT_INDEX == end ) {
1159 result = m_pmts.get_hash (pmt_id(id), hash_id);
1160 } else if ( m_SAMPLE_INDEX == end ) {
1161 result = channels().get_hash (cell_id(id), hash_id);
1162 } else if ( m_TOWER_INDEX == end ) {
1163 result = m_towers.get_hash (tower_id(id), hash_id);
1164 } else if ( m_MODULE_INDEX == end ) {
1165 result = m_modules.get_hash (module_id(id), hash_id);
1166 } else if ( m_SIDE_INDEX == end ) {
1167 result = regions().get_hash (region_id(id), hash_id);
1168 }
1169 }
1170
1171 return (result);
1172}
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 1077 of file Tile_Base_ID.cxx.

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

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

◆ group()

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

Group name for this helper.

Definition at line 39 of file AtlasDetectorID.cxx.

40{
41 return m_group;
42}
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 92 of file AtlasDetectorID.h.

◆ hgtd()

Identifier AtlasDetectorID::hgtd ( void ) const
inherited

Definition at line 94 of file AtlasDetectorID.cxx.

94 {
96}
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 1018 of file AtlasDetectorID.cxx.

1019{
1020 ExpandedIdentifier result(indet_exp());
1021 return (result << m_HGTD_ID);
1022}
ExpandedIdentifier indet_exp(void) const
Detector systems:

◆ hgtd_field_value()

int AtlasDetectorID::hgtd_field_value ( ) const
inlineprotectedinherited

Definition at line 478 of file AtlasDetectorID.h.

478{return (m_HGTD_ID);}

◆ indet()

Identifier AtlasDetectorID::indet ( void ) const
inherited

Detector systems:

Definition at line 62 of file AtlasDetectorID.cxx.

62 {
63 return m_det_impl.new_pack(indet_field_value());
64}

◆ indet_exp()

ExpandedIdentifier AtlasDetectorID::indet_exp ( void ) const
protectedinherited

Detector systems:

Definition at line 955 of file AtlasDetectorID.cxx.

956{
957 ExpandedIdentifier result;
958 return (result << m_INDET_ID);
959}

◆ indet_field_value()

int AtlasDetectorID::indet_field_value ( ) const
inlineprotectedinherited

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

Definition at line 454 of file AtlasDetectorID.h.

454{return (m_INDET_ID);}

◆ init_hashes()

int Tile_Base_ID::init_hashes ( )
privateinherited

Definition at line 1725 of file Tile_Base_ID.cxx.

1726{
1727 if (regions().init (*this, "regions", m_full_region_range,
1729 m_SIDE_INDEX))
1730 return 1;
1731
1732 if (m_modules.init (*this, "modules", m_full_module_range,
1735 return 1;
1736
1737 if (m_towers.init (*this, "towers", m_full_tower_range,
1740 return 1;
1741
1742 if (channels().init (*this, "channels", m_full_cell_range,
1745 return 1;
1746
1747 if (m_pmts.init (*this, "pmts", m_full_pmt_range,
1749 m_PMT_INDEX))
1750 return 1;
1751
1752 if (m_adcs.init (*this, "adcs", m_full_adc_range,
1754 m_ADC_INDEX))
1755 return 1;
1756
1757 return (0);
1758}
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 1175 of file Tile_Base_ID.cxx.

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

initialization from the identifier dictionary

Reimplemented from AtlasDetectorID.

Definition at line 27 of file TileID.cxx.

28{
29 ATH_MSG_DEBUG("initialize_from_dictionary");
30
31 // Check whether this helper should be reinitialized
32 if (!reinitialize(dict_mgr)) {
33 ATH_MSG_DEBUG("Request to reinitialize not satisfied - tags have not changed");
34 return (0);
35 }
36 else {
37 ATH_MSG_DEBUG("(Re)initialize");
38 }
39
40 // init base object
42 return (1);
43
44 return 0;
45}
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 1601 of file Tile_Base_ID.cxx.

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

◆ is_alfa()

bool AtlasDetectorID::is_alfa ( Identifier id) const
inlineinherited

Definition at line 784 of file AtlasDetectorID.h.

785{
786 bool result = false;
787 if(is_forward(id)) {
788 result = (std::abs(m_lar_part_impl.unpack(id)) == m_ALFA_ID);
789 }
790 return result;
791}
IdDictFieldImplementation m_lar_part_impl

◆ is_bcm()

bool AtlasDetectorID::is_bcm ( Identifier id) const
inlineinherited

Definition at line 794 of file AtlasDetectorID.h.

795{
796 bool result = false;
797 if(is_forward(id)) {
798 result = (std::abs(m_lar_part_impl.unpack(id)) == m_BCM_ID);
799 }
800 return result;
801}

◆ is_calo() [1/2]

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

Definition at line 242 of file AtlasDetectorID.cxx.

242 {
243 return id.fields() > 0 && id[0] == m_CALO_ID;
244}

◆ is_calo() [2/2]

bool AtlasDetectorID::is_calo ( Identifier id) const
inlineinherited

Definition at line 550 of file AtlasDetectorID.h.

551{
552 return (m_det_impl.unpack(id) == m_CALO_ID);
553}

◆ is_csc() [1/2]

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

Definition at line 284 of file AtlasDetectorID.cxx.

284 {
285 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_CSC_ID;
286}

◆ is_csc() [2/2]

bool AtlasDetectorID::is_csc ( Identifier id) const
inlineinherited

Definition at line 734 of file AtlasDetectorID.h.

735{
736 bool result = false;
737 if (!is_muon(id)) return false;
738 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
739 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
740 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasCSC));
741 return result;
742}
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 778 of file AtlasDetectorID.h.

779{
780 return (m_det_impl.unpack(id) == m_FWD_ID);
781}

◆ is_hgtd() [1/2]

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

Definition at line 255 of file AtlasDetectorID.cxx.

255 {
256 return is_indet(id) && id.fields() > 1 && id[1] == m_HGTD_ID;
257}

◆ is_hgtd() [2/2]

bool AtlasDetectorID::is_hgtd ( Identifier id) const
inlineinherited

Definition at line 637 of file AtlasDetectorID.h.

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

◆ is_high_gain()

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

Definition at line 286 of file Tile_Base_ID.cxx.

287{
288 bool result = is_tile(id)
289 && ( adc(id) == Tile_Base_ID::HIGHGAIN );
290
291 return result;
292}

◆ is_indet() [1/2]

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

Definition at line 230 of file AtlasDetectorID.cxx.

230 {
231 return id.fields() > 0 && id[0] == m_INDET_ID;
232}

◆ is_indet() [2/2]

bool AtlasDetectorID::is_indet ( Identifier id) const
inlineinherited

Definition at line 526 of file AtlasDetectorID.h.

527{
528 return (m_det_impl.unpack(id) == m_INDET_ID);
529}

◆ is_lar() [1/2]

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

Definition at line 233 of file AtlasDetectorID.cxx.

233 {
234 return id.fields() > 0 && id[0] == m_LAR_ID;
235}

◆ is_lar() [2/2]

bool AtlasDetectorID::is_lar ( Identifier id) const
inlineinherited

Definition at line 532 of file AtlasDetectorID.h.

533{
534 return (m_det_impl.unpack(id) == m_LAR_ID);
535}

◆ is_lar_dm()

bool AtlasDetectorID::is_lar_dm ( Identifier id) const
inlineinherited

LAr/Tile dead material:

Definition at line 579 of file AtlasDetectorID.h.

580{
581 bool result = false;
582 if (is_calo(id)) {
583 int temp = m_calo_side_impl.unpack(id);
584 result = (m_lar_dm_field.match(temp));
585 }
586 return result;
587}
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 265 of file AtlasDetectorID.cxx.

265 {
266 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_EM_ID;
267}

◆ is_lar_em() [2/2]

bool AtlasDetectorID::is_lar_em ( Identifier id) const
inlineinherited

Definition at line 661 of file AtlasDetectorID.h.

662{
663 bool result = false;
664 if(is_lar(id)) {
665 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LAR_EM_ID);
666 }
667 return result;
668}

◆ is_lar_fcal() [1/2]

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

Definition at line 272 of file AtlasDetectorID.cxx.

272 {
273 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_FCAL_ID;
274}

◆ is_lar_fcal() [2/2]

bool AtlasDetectorID::is_lar_fcal ( Identifier id) const
inlineinherited

Definition at line 682 of file AtlasDetectorID.h.

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

◆ is_lar_hec() [1/2]

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

Definition at line 268 of file AtlasDetectorID.cxx.

268 {
269 return is_lar(id) && id.fields() > 1 && std::abs(id[1]) == m_LAR_HEC_ID;
270}

◆ is_lar_hec() [2/2]

bool AtlasDetectorID::is_lar_hec ( Identifier id) const
inlineinherited

Definition at line 672 of file AtlasDetectorID.h.

673{
674 bool result = false;
675 if(is_lar(id)) {
676 result = (std::abs(m_lar_part_impl.unpack(id)) == m_LAR_HEC_ID);
677 }
678 return result;
679}

◆ is_lar_minifcal() [1/2]

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

Definition at line 276 of file AtlasDetectorID.cxx.

276 {
277 return is_lar_fcal(id) && id.fields() > 3 &&std::abs(id[3]) == 0;
278}
bool is_lar_fcal(Identifier id) const

◆ is_lar_minifcal() [2/2]

bool AtlasDetectorID::is_lar_minifcal ( Identifier id) const
inlineinherited

Definition at line 692 of file AtlasDetectorID.h.

693{
694 bool result = false;
695 if(is_lar_fcal(id)) {
696 result = (m_lar_fcal_module_impl.unpack(id) == 0);
697 }
698 return result;
699}
IdDictFieldImplementation m_lar_fcal_module_impl

◆ is_low_gain()

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

Definition at line 277 of file Tile_Base_ID.cxx.

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

◆ is_lucid()

bool AtlasDetectorID::is_lucid ( Identifier id) const
inlineinherited

Definition at line 804 of file AtlasDetectorID.h.

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

◆ is_lumi() [1/2]

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

Definition at line 258 of file AtlasDetectorID.cxx.

258 {
259 return is_indet(id) && id.fields() > 1 && id[1] == m_LUMI_ID;
260}

◆ is_lumi() [2/2]

bool AtlasDetectorID::is_lumi ( Identifier id) const
inlineinherited

Definition at line 649 of file AtlasDetectorID.h.

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

◆ is_lvl1_online()

bool AtlasDetectorID::is_lvl1_online ( Identifier id) const
inlineinherited

Definition at line 567 of file AtlasDetectorID.h.

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

◆ is_lvl1_trig_towers()

bool AtlasDetectorID::is_lvl1_trig_towers ( Identifier id) const
inlineinherited

Definition at line 556 of file AtlasDetectorID.h.

557{
558 bool result = false;
559 if (is_calo(id)) {
560 int temp = m_calo_side_impl.unpack(id);
561 result = (m_lvl1_field.match(temp));
562 }
563 return result;
564}
Range::field m_lvl1_field

◆ is_mdt() [1/2]

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

Definition at line 280 of file AtlasDetectorID.cxx.

280 {
281 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_MDT_ID;
282}

◆ is_mdt() [2/2]

bool AtlasDetectorID::is_mdt ( Identifier id) const
inlineinherited

Definition at line 702 of file AtlasDetectorID.h.

703{
704 bool result = false;
705 if (!is_muon(id)) return false;
706 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
707 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
708 // MDT and RPC can only be destinguished by the additional bit in the ID
709 // since the station names are ambiguous
710 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
711 || (techBit == AtlasDetDescr::fAtlasRPC))) {
712 result = (m_muon_mdt_impl.unpack(id) == m_MDT_ID);
713 }
714 return result;
715}
IdDictFieldImplementation m_muon_mdt_impl

◆ is_mm() [1/2]

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

Definition at line 300 of file AtlasDetectorID.cxx.

300 {
301 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_MM_ID;
302}

◆ is_mm() [2/2]

bool AtlasDetectorID::is_mm ( Identifier id) const
inlineinherited

Definition at line 756 of file AtlasDetectorID.h.

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

◆ is_muon() [1/2]

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

Definition at line 239 of file AtlasDetectorID.cxx.

239 {
240 return id.fields() > 0 && id[0] == m_MUON_ID;
241}

◆ is_muon() [2/2]

bool AtlasDetectorID::is_muon ( Identifier id) const
inlineinherited

Definition at line 544 of file AtlasDetectorID.h.

545{
546 return (m_det_impl.unpack(id) == m_MUON_ID);
547}

◆ is_negative()

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

Definition at line 241 of file Tile_Base_ID.cxx.

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

◆ is_pixel() [1/2]

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

Definition at line 245 of file AtlasDetectorID.cxx.

245 {
246 return is_indet(id) && id.fields() > 1 && id[1] == m_PIXEL_ID;
247}

◆ is_pixel() [2/2]

bool AtlasDetectorID::is_pixel ( Identifier id) const
inlineinherited

Definition at line 603 of file AtlasDetectorID.h.

604{
605 bool result = false;
606 if(is_indet(id)) {
607 result = (m_indet_part_impl.unpack(id) == m_PIXEL_ID);
608 }
609 return result;
610}

◆ is_plr() [1/2]

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

Definition at line 261 of file AtlasDetectorID.cxx.

261 {
262 return is_lumi(id) && id.fields() > 2 && id[2] == m_LUMI_PLR_ID;
263}
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 250 of file Tile_Base_ID.cxx.

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

◆ is_rpc() [1/2]

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

Definition at line 288 of file AtlasDetectorID.cxx.

288 {
289 return id.fields() > 4 && id[0] == m_MUON_ID && id[4] == m_RPC_ID;
290}

◆ is_rpc() [2/2]

bool AtlasDetectorID::is_rpc ( Identifier id) const
inlineinherited

Definition at line 718 of file AtlasDetectorID.h.

719{
720 bool result = false;
721 if (!is_muon(id)) return false;
722 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
723 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
724 // MDT and RPC can only be destinguished by the additional bit in the ID
725 // since the station names are ambiguous
726 if (is_muon(id) && ((techBit == AtlasDetDescr::fAtlasMDT)
727 || (techBit == AtlasDetDescr::fAtlasRPC))) {
728 result = (m_muon_rpc_impl.unpack(id) == m_RPC_ID);
729 }
730 return result;
731}
IdDictFieldImplementation m_muon_rpc_impl

◆ is_sct() [1/2]

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

Definition at line 249 of file AtlasDetectorID.cxx.

249 {
250 return is_indet(id) && id.fields() > 1 && id[1] == m_SCT_ID;
251}

◆ is_sct() [2/2]

bool AtlasDetectorID::is_sct ( Identifier id) const
inlineinherited

Definition at line 613 of file AtlasDetectorID.h.

614{
615 bool result = false;
616 // Must check is_pixel to allow for special bits
617 // (don't need this check for 64-bit identifier, but leave it in for now)
618 if(is_indet(id) && !is_pixel(id)) {
619 result = (m_indet_part_impl.unpack(id) == m_SCT_ID);
620 }
621 return result;
622}

◆ is_stgc() [1/2]

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

Definition at line 296 of file AtlasDetectorID.cxx.

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

◆ is_stgc() [2/2]

bool AtlasDetectorID::is_stgc ( Identifier id) const
inlineinherited

Definition at line 767 of file AtlasDetectorID.h.

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

◆ is_supercell()

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

Definition at line 294 of file Tile_Base_ID.cxx.

295{
296 return is_tile(id) && (get_field(id,m_SECTION_INDEX) & SUPERCELL_MASK);
297}

◆ is_tgc() [1/2]

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

Definition at line 292 of file AtlasDetectorID.cxx.

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

◆ is_tgc() [2/2]

bool AtlasDetectorID::is_tgc ( Identifier id) const
inlineinherited

Definition at line 745 of file AtlasDetectorID.h.

746{
747 bool result = false;
748 if (!is_muon(id)) return false;
749 unsigned int stationNameIndex = m_muon_station_name_impl.unpack(id);
750 unsigned int techBit = m_muon_tech_bits[stationNameIndex];
751 result = (is_muon(id) && (techBit == AtlasDetDescr::fAtlasTGC));
752 return result;
753}

◆ is_tile() [1/2]

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

Definition at line 236 of file AtlasDetectorID.cxx.

236 {
237 return id.fields() > 0 && id[0] == m_TILE_ID;
238}

◆ is_tile() [2/2]

bool AtlasDetectorID::is_tile ( Identifier id) const
inlineinherited

Definition at line 538 of file AtlasDetectorID.h.

539{
540 return (m_det_impl.unpack(id) == m_TILE_ID);
541}

◆ is_tile_aux()

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

Definition at line 232 of file Tile_Base_ID.cxx.

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

◆ 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 205 of file Tile_Base_ID.cxx.

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

◆ is_tile_dm()

bool AtlasDetectorID::is_tile_dm ( Identifier id) const
inlineinherited

Definition at line 591 of file AtlasDetectorID.h.

592{
593 bool result = false;
594 if (is_calo(id)) {
595 int temp = m_calo_side_impl.unpack(id);
596 result = (m_tile_dm_field.match(temp));
597 }
598 return result;
599}
Range::field m_tile_dm_field

◆ is_tile_extbarrel()

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

Definition at line 214 of file Tile_Base_ID.cxx.

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

◆ is_tile_gap()

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

Definition at line 223 of file Tile_Base_ID.cxx.

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

◆ is_tile_gapscin()

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

Definition at line 268 of file Tile_Base_ID.cxx.

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

◆ is_trt() [1/2]

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

Definition at line 252 of file AtlasDetectorID.cxx.

252 {
253 return is_indet(id) && id.fields() > 1;
254}

◆ is_trt() [2/2]

bool AtlasDetectorID::is_trt ( Identifier id) const
inlineinherited

Definition at line 625 of file AtlasDetectorID.h.

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

◆ is_twosides()

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

Definition at line 259 of file Tile_Base_ID.cxx.

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

◆ is_zdc()

bool AtlasDetectorID::is_zdc ( Identifier id) const
inlineinherited

Definition at line 814 of file AtlasDetectorID.h.

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

◆ lar()

Identifier AtlasDetectorID::lar ( void ) const
inherited

Definition at line 66 of file AtlasDetectorID.cxx.

66 {
67 return m_det_impl.new_pack(lar_field_value());
68}
int lar_field_value() const

◆ lar_dm()

Identifier AtlasDetectorID::lar_dm ( void ) const
inherited

Definition at line 118 of file AtlasDetectorID.cxx.

118 {
119 return makeId(m_det_impl, m_calo_side_impl, calo_field_value(), -4);
120}

◆ lar_em()

Identifier AtlasDetectorID::lar_em ( void ) const
inherited

Definition at line 102 of file AtlasDetectorID.cxx.

102 {
104}

◆ lar_em_exp()

ExpandedIdentifier AtlasDetectorID::lar_em_exp ( void ) const
protectedinherited

LAr.

Definition at line 1032 of file AtlasDetectorID.cxx.

1033{
1034 ExpandedIdentifier result(lar_exp());
1035 return (result << m_LAR_EM_ID);
1036}
ExpandedIdentifier lar_exp(void) const

◆ lar_em_field_value()

int AtlasDetectorID::lar_em_field_value ( ) const
inlineprotectedinherited

Definition at line 487 of file AtlasDetectorID.h.

487{return (m_LAR_EM_ID);}

◆ lar_exp()

ExpandedIdentifier AtlasDetectorID::lar_exp ( void ) const
protectedinherited

Definition at line 962 of file AtlasDetectorID.cxx.

963{
964 ExpandedIdentifier result;
965 return (result << m_LAR_ID);
966}

◆ lar_fcal()

Identifier AtlasDetectorID::lar_fcal ( void ) const
inherited

Definition at line 110 of file AtlasDetectorID.cxx.

110 {
112}

◆ lar_fcal_exp()

ExpandedIdentifier AtlasDetectorID::lar_fcal_exp ( void ) const
protectedinherited

Definition at line 1046 of file AtlasDetectorID.cxx.

1047{
1048 ExpandedIdentifier result(lar_exp());
1049 return (result << m_LAR_FCAL_ID);
1050}

◆ lar_fcal_field_value()

int AtlasDetectorID::lar_fcal_field_value ( ) const
inlineprotectedinherited

Definition at line 493 of file AtlasDetectorID.h.

493{return (m_LAR_FCAL_ID);}

◆ lar_field_value()

int AtlasDetectorID::lar_field_value ( ) const
inlineprotectedinherited

Definition at line 457 of file AtlasDetectorID.h.

457{return (m_LAR_ID);}

◆ lar_hec()

Identifier AtlasDetectorID::lar_hec ( void ) const
inherited

Definition at line 106 of file AtlasDetectorID.cxx.

106 {
108}

◆ lar_hec_exp()

ExpandedIdentifier AtlasDetectorID::lar_hec_exp ( void ) const
protectedinherited

Definition at line 1039 of file AtlasDetectorID.cxx.

1040{
1041 ExpandedIdentifier result(lar_exp());
1042 return (result << m_LAR_HEC_ID);
1043}

◆ lar_hec_field_value()

int AtlasDetectorID::lar_hec_field_value ( ) const
inlineprotectedinherited

Definition at line 490 of file AtlasDetectorID.h.

490{return (m_LAR_HEC_ID);}

◆ lar_lvl1()

Identifier AtlasDetectorID::lar_lvl1 ( void ) const
inherited

Definition at line 114 of file AtlasDetectorID.cxx.

114 {
115 return makeId(m_det_impl, m_calo_side_impl, calo_field_value(), -1);
116}

◆ lucid_exp()

ExpandedIdentifier AtlasDetectorID::lucid_exp ( void ) const
protectedinherited

Definition at line 1067 of file AtlasDetectorID.cxx.

1068{
1069 ExpandedIdentifier result(fwd_exp());
1070 return (result << m_LUCID_ID);
1071}

◆ lucid_field_value()

int AtlasDetectorID::lucid_field_value ( ) const
inlineprotectedinherited

Definition at line 520 of file AtlasDetectorID.h.

520{return (m_LUCID_ID);}

◆ lumi()

Identifier AtlasDetectorID::lumi ( void ) const
inherited

Definition at line 98 of file AtlasDetectorID.cxx.

98 {
100}

◆ lumi_exp()

ExpandedIdentifier AtlasDetectorID::lumi_exp ( void ) const
protectedinherited

Definition at line 1025 of file AtlasDetectorID.cxx.

1026{
1027 ExpandedIdentifier result(indet_exp());
1028 return (result << m_LUMI_ID);
1029}

◆ lumi_field_value()

int AtlasDetectorID::lumi_field_value ( ) const
inlineprotectedinherited

Definition at line 481 of file AtlasDetectorID.h.

481{return (m_LUMI_ID);}

◆ mdt()

Identifier AtlasDetectorID::mdt ( void ) const
inherited

Definition at line 44 of file AtlasDetectorID.cxx.

44 {
45 return Identifier{};
46}

◆ mdt_field_value()

int AtlasDetectorID::mdt_field_value ( ) const
inlineprotectedinherited

Definition at line 496 of file AtlasDetectorID.h.

496{return (m_MDT_ID);}

◆ mm()

Identifier AtlasDetectorID::mm ( void ) const
inherited

Definition at line 59 of file AtlasDetectorID.cxx.

59 {
60 return Identifier{};
61}

◆ mm_field_value()

int AtlasDetectorID::mm_field_value ( ) const
inlineprotectedinherited

Definition at line 511 of file AtlasDetectorID.h.

511{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 1331 of file Tile_Base_ID.cxx.

1332{
1333 return m_modules.begin();
1334}

◆ module_context()

IdContext Tile_Base_ID::module_context ( ) const
inherited

id for modules

Definition at line 1047 of file Tile_Base_ID.cxx.

1048{
1049 return {0, m_MODULE_INDEX};
1050}

◆ module_end()

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

Definition at line 1336 of file Tile_Base_ID.cxx.

1337{
1338 return m_modules.end();
1339}

◆ module_hash_max()

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

Definition at line 1291 of file Tile_Base_ID.cxx.

1292{
1293 return m_modules.hash_max();
1294}

◆ module_id() [1/5]

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

Definition at line 1443 of file Tile_Base_ID.cxx.

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

◆ module_id() [2/5]

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

Definition at line 513 of file Tile_Base_ID.cxx.

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

◆ 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 911 of file Tile_Base_ID.cxx.

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

◆ module_id() [4/5]

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

Definition at line 505 of file Tile_Base_ID.cxx.

507{
508 return module_id (section, side, module, do_checks());
509}

◆ module_id() [5/5]

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

Definition at line 469 of file Tile_Base_ID.cxx.

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

◆ module_ids()

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

Definition at line 1411 of file Tile_Base_ID.cxx.

1412{
1413 return m_modules.ids();
1414}

◆ module_range()

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

Definition at line 1341 of file Tile_Base_ID.cxx.

1342{
1343 return m_modules.range();
1344}

◆ 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 167 of file AthMessaging.h.

168{
169 MsgStream* ms = m_msg_tls.get();
170 if (!ms) {
171 if (!m_initialized.test_and_set()) initMessaging();
172 ms = new MsgStream(m_imsg,m_nm);
173 m_msg_tls.reset( ms );
174 }
175
176 ms->setLevel (m_lvl);
177 return *ms;
178}
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 182 of file AthMessaging.h.

183{ 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 user did not set explicit message level we have to initialize
154 // the messaging and retrieve the default via the MessageSvc.
155 if (m_lvl==MSG::NIL && !m_initialized.test_and_set()) initMessaging();
156
157 if (m_lvl <= lvl) {
158 msg() << lvl;
159 return true;
160 } else {
161 return false;
162 }
163}

◆ muon()

Identifier AtlasDetectorID::muon ( void ) const
inherited

Definition at line 74 of file AtlasDetectorID.cxx.

74 {
75 return m_det_impl.new_pack(muon_field_value());
76}
int muon_field_value() const

◆ muon_exp()

ExpandedIdentifier AtlasDetectorID::muon_exp ( void ) const
protectedinherited

Definition at line 976 of file AtlasDetectorID.cxx.

977{
978 ExpandedIdentifier result;
979 return (result << m_MUON_ID);
980}

◆ muon_field_value()

int AtlasDetectorID::muon_field_value ( ) const
inlineprotectedinherited

Definition at line 463 of file AtlasDetectorID.h.

463{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 1557 of file Tile_Base_ID.cxx.

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

◆ 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 82 of file AtlasDetectorID.cxx.

82 {
84}

◆ pixel_exp()

ExpandedIdentifier AtlasDetectorID::pixel_exp ( void ) const
protectedinherited

Inner Detector:

Definition at line 997 of file AtlasDetectorID.cxx.

998{
999 ExpandedIdentifier result(indet_exp());
1000 return (result << m_PIXEL_ID);
1001}

◆ pixel_field_value()

int AtlasDetectorID::pixel_field_value ( ) const
inlineprotectedinherited

Definition at line 469 of file AtlasDetectorID.h.

469{return (m_PIXEL_ID);}

◆ plr_field_value()

int AtlasDetectorID::plr_field_value ( ) const
inlineprotectedinherited

Definition at line 484 of file AtlasDetectorID.h.

484{return (m_LUMI_PLR_ID);}

◆ pmt()

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

Definition at line 180 of file Tile_Base_ID.cxx.

181{
182 return get_field(id,m_PMT_INDEX);
183}

◆ pmt_begin()

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

iterator over set of pmt Identifiers

Definition at line 1376 of file Tile_Base_ID.cxx.

1377{
1378 return m_pmts.begin();
1379}

◆ pmt_context()

IdContext Tile_Base_ID::pmt_context ( ) const
inherited

id for PMTs

Definition at line 1065 of file Tile_Base_ID.cxx.

1066{
1067 return {0, m_PMT_INDEX};
1068}

◆ pmt_end()

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

Definition at line 1381 of file Tile_Base_ID.cxx.

1382{
1383 return m_pmts.end();
1384}

◆ pmt_hash_max()

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

Definition at line 1306 of file Tile_Base_ID.cxx.

1307{
1308 return m_pmts.hash_max();
1309}

◆ pmt_id() [1/7]

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

Definition at line 1467 of file Tile_Base_ID.cxx.

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

◆ pmt_id() [2/7]

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

Definition at line 640 of file Tile_Base_ID.cxx.

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

◆ pmt_id() [3/7]

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

Definition at line 699 of file Tile_Base_ID.cxx.

701{
702 return pmt_id (cell_id, pmt, do_checks());
703}

◆ pmt_id() [4/7]

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

Definition at line 652 of file Tile_Base_ID.cxx.

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

◆ pmt_id() [5/7]

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

Definition at line 966 of file Tile_Base_ID.cxx.

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

◆ 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 746 of file Tile_Base_ID.cxx.

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

◆ 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 706 of file Tile_Base_ID.cxx.

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

◆ pmt_ids()

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

Definition at line 1426 of file Tile_Base_ID.cxx.

1427{
1428 return m_pmts.ids();
1429}

◆ pmt_range()

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

Definition at line 1386 of file Tile_Base_ID.cxx.

1387{
1388 return m_pmts.range();
1389}

◆ print()

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

Expanded print out of any identifier.

Definition at line 354 of file AtlasDetectorID.cxx.

354 {
355 ATH_MSG_INFO(print_to_string(id, context));
356}
#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 358 of file AtlasDetectorID.cxx.

359 {
360 // Print out for any Atlas identifier
361 std::string result;
363
364 // Do a generic printout of identifier from dictionary
365 unsigned int max_index = (context) ? context->end_index() : 999;
366
367 // Find the dictionary to use:
368 const IdDictDictionary *dict = dictionary(id);
369 ExpandedIdentifier expId;
370 ExpandedIdentifier prefix; // default is null prefix
371 Identifier compact = id;
372 if (!dict) {
373 ATH_MSG_WARNING(__func__<<":"<<__LINE__<<" No dictionary could be associated to "<<id);
374 return result;
375 }
376 if (dict->unpack(m_group, compact, prefix, max_index," ", result)) {
377 return result;
378 }
379 }
380 return result;
381}
const IdDictDictionary * dictionary(const Identifier &id) const
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...

◆ reg_begin()

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

iterator over set of region Identifiers

Definition at line 1316 of file Tile_Base_ID.cxx.

1317{
1318 return regions().begin();
1319}

◆ reg_end()

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

Definition at line 1321 of file Tile_Base_ID.cxx.

1322{
1323 return regions().end();
1324}

◆ reg_range()

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

Definition at line 1326 of file Tile_Base_ID.cxx.

1327{
1328 return regions().range();
1329}

◆ region() [1/2]

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

Definition at line 130 of file Tile_Base_ID.cxx.

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

◆ region() [2/2]

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

Definition at line 119 of file Tile_Base_ID.cxx.

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

◆ region_begin()

id_iterator Tile_Base_ID::region_begin ( ) const
inlineinherited

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

Definition at line 217 of file Tile_Base_ID.h.

217{ 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 1041 of file Tile_Base_ID.cxx.

1042{
1043 return {0, m_SIDE_INDEX};
1044}

◆ region_end()

id_iterator Tile_Base_ID::region_end ( ) const
inlineinherited

Definition at line 218 of file Tile_Base_ID.h.

218{ 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 1551 of file Tile_Base_ID.cxx.

1552{
1553 IdContext context = region_context();
1554 return eta_max (id, context);
1555}

◆ region_eta_min()

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

Definition at line 1545 of file Tile_Base_ID.cxx.

1546{
1547 IdContext context = region_context();
1548 return eta_min (id, context);
1549}

◆ 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 1286 of file Tile_Base_ID.cxx.

1287{
1288 return regions().hash_max();
1289}

◆ 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 1437 of file Tile_Base_ID.cxx.

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

◆ region_id() [3/6]

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

Definition at line 457 of file Tile_Base_ID.cxx.

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

◆ 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 405 of file Tile_Base_ID.cxx.

406{
407 Identifier result;
408 IdentifierHash hash_id = index;
409 IdContext context = region_context();
410
411 get_id(hash_id,result,&context);
412
413 return result;
414}
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 450 of file Tile_Base_ID.cxx.

451{
452 return region_id (section, side, do_checks());
453}

◆ region_id() [6/6]

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

Definition at line 417 of file Tile_Base_ID.cxx.

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

◆ region_ids()

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

provide access to id vectors, accessed via hash

Definition at line 1406 of file Tile_Base_ID.cxx.

1407{
1408 return regions().ids();
1409}

◆ region_range()

id_range Tile_Base_ID::region_range ( ) const
inlineinherited

Definition at line 219 of file Tile_Base_ID.h.

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

◆ regions()

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 150 of file AtlasDetectorID.cxx.

151 {
152 // Register version of dictionary dict_name
153
154 // Access dictionary by name
155 const IdDictDictionary *dict = dict_mgr.find_dictionary(dict_name);
156 if (!dict) {
157 ATH_MSG_ERROR(__func__<<":"<<__LINE__<<" No dictionary found");
158 return 1;
159
160 }
161 // Add in dict name, file name and version
162 m_dict_names.push_back(dict_name);
163 m_file_names.push_back(dict->file_name());
164 m_dict_tags.push_back(dict->dict_tag());
165 return 0;
166}
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 170 of file AtlasDetectorID.cxx.

170 {
171 // If no tag has been registered, then reinitialize
172 if (m_dict_tags.empty() || m_dict_names.empty() ){
173 return true;
174 }
175
176 // Loop over dict names and check version tags
177 if (m_dict_names.size() != m_dict_tags.size()) [[unlikely]]{
178 ATH_MSG_ERROR("reinitialize: dict names and tags vectors not the same length ");
179 ATH_MSG_ERROR("names: " << m_dict_names.size() << " tags: " << m_dict_tags.size());
180 }
181 for (unsigned int i = 0; i < m_dict_names.size(); ++i) {
182 // Access dictionary by name
183 const IdDictDictionary *dict = dict_mgr.find_dictionary(m_dict_names[i]);
184 if (!dict)[[unlikely]] {
185 ATH_MSG_ERROR("reinitialize: could not find dict - " << m_dict_names[i]);
186 return false;
187 }
188 if (m_dict_tags[i] != dict->dict_tag()) {
189 // Remove all memory of versions
190 m_dict_names.clear();
191 m_dict_tags.clear();
192 m_file_names.clear();
193 return true;
194 }
195 }
196
197 // Tags match - don't reinitialize
198 return false;
199}
#define unlikely(x)

◆ rpc()

Identifier AtlasDetectorID::rpc ( void ) const
inherited

Definition at line 50 of file AtlasDetectorID.cxx.

50 {
51 return Identifier{};
52}

◆ rpc_field_value()

int AtlasDetectorID::rpc_field_value ( ) const
inlineprotectedinherited

Definition at line 502 of file AtlasDetectorID.h.

502{return (m_RPC_ID);}

◆ sample()

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

Definition at line 171 of file Tile_Base_ID.cxx.

172{
173 if ( section(id) == Tile_Base_ID::AUXDET )
175 else
176 return get_field(id,m_SAMPLE_INDEX);
177}

◆ sampling()

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

Definition at line 162 of file Tile_Base_ID.h.

162{ return m_sample_impl.unpack(id); }

◆ sct()

Identifier AtlasDetectorID::sct ( void ) const
inherited

Definition at line 86 of file AtlasDetectorID.cxx.

86 {
88}

◆ sct_exp()

ExpandedIdentifier AtlasDetectorID::sct_exp ( void ) const
protectedinherited

Definition at line 1004 of file AtlasDetectorID.cxx.

1005{
1006 ExpandedIdentifier result(indet_exp());
1007 return (result << m_SCT_ID);
1008}

◆ sct_field_value()

int AtlasDetectorID::sct_field_value ( ) const
inlineprotectedinherited

Definition at line 472 of file AtlasDetectorID.h.

472{return (m_SCT_ID);}

◆ section()

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

Definition at line 147 of file Tile_Base_ID.cxx.

148{
150}
int decode_section(int section) const

◆ set_do_checks()

void AtlasDetectorID::set_do_checks ( bool do_checks)
overridevirtualinherited

Implements IdHelper.

Definition at line 394 of file AtlasDetectorID.cxx.

394 {
396}

◆ set_do_neighbours()

void AtlasDetectorID::set_do_neighbours ( bool do_neighbours)
overridevirtualinherited

Implements IdHelper.

Definition at line 402 of file AtlasDetectorID.cxx.

402 {
404}
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 406 of file AtlasDetectorID.cxx.

406 {
407 const IdDictDictionary *dict = dict_mgr.find_dictionary(name);
408 m_dict_version = dict->version();
409}
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 305 of file AtlasDetectorID.cxx.

305 {
306 ATH_MSG_INFO(show_to_string(id, context, sep));
307}
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 311 of file AtlasDetectorID.cxx.

311 {
312 // Do a generic printout of identifier
313
314 std::string result("Unable to decode id");
315 unsigned int max_index = (context) ? context->end_index() : 999;
316
317 if (!id.is_valid()) {
318 return "[INVALID]";
319 }
320
322 return result;
323
324 // Find the dictionary to use:
325 const IdDictDictionary * dict = dictionary(id);
326 ExpandedIdentifier expId{};
327 ExpandedIdentifier prefix{}; // default is null prefix
328 Identifier compact = id;
329
330 if (!dict) {
331 ATH_MSG_WARNING(__func__<<" No detector type associated to id "<<id);
332 return result;
333 }
334 if (dict->unpack(m_group, compact, prefix, max_index, expId)) {
335 return result;
336 }
337
338 bool first = true;
339 result = "";
340 if ('.' == sep)
341 result = '[';
342 for (unsigned int i = 0; i < expId.fields(); ++i) {
343 if (first)
344 first = false;
345 else
346 result += sep;
347 result += std::to_string(expId[i]);
348 }
349 if ('.' == sep)
350 result += ']';
351 return result;
352}
size_type fields() const
bool first
Definition DeMoScan.py:534

◆ side()

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

Definition at line 153 of file Tile_Base_ID.cxx.

154{
155 return get_field(id,m_SIDE_INDEX);
156}

◆ stgc()

Identifier AtlasDetectorID::stgc ( void ) const
inherited

Definition at line 56 of file AtlasDetectorID.cxx.

56 {
57 return Identifier{};
58}

◆ stgc_field_value()

int AtlasDetectorID::stgc_field_value ( ) const
inlineprotectedinherited

Definition at line 508 of file AtlasDetectorID.h.

508{return (m_STGC_ID);}

◆ subdet_context()

IdContext AtlasDetectorID::subdet_context ( void ) const
inherited

IdContext (indicates id length) for sub-detector.

Definition at line 133 of file AtlasDetectorID.cxx.

133 {
134 ExpandedIdentifier id{};
135 return IdContext{id, 0, m_SUBDET_INDEX};
136}
size_type m_SUBDET_INDEX

◆ system()

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

Definition at line 141 of file Tile_Base_ID.cxx.

142{
143 return get_field(id,m_SYSTEM_INDEX);
144}

◆ tgc()

Identifier AtlasDetectorID::tgc ( void ) const
inherited

Definition at line 53 of file AtlasDetectorID.cxx.

53 {
54 return Identifier{};
55}

◆ tgc_field_value()

int AtlasDetectorID::tgc_field_value ( ) const
inlineprotectedinherited

Definition at line 505 of file AtlasDetectorID.h.

505{return (m_TGC_ID);}

◆ tile()

Identifier AtlasDetectorID::tile ( void ) const
inherited

Definition at line 70 of file AtlasDetectorID.cxx.

70 {
71 return m_det_impl.new_pack(tile_field_value());
72}

◆ tile_barrel()

Identifier Tile_Base_ID::tile_barrel ( ) const
inherited

build identifier for Tile Barrel

Definition at line 318 of file Tile_Base_ID.cxx.

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

◆ tile_det() [1/2]

Identifier Tile_Base_ID::tile_det ( int section) const
inherited

build identifier for any Tilecal section

Definition at line 398 of file Tile_Base_ID.cxx.

399{
400 return tile_det (section, do_checks());
401}
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 374 of file Tile_Base_ID.cxx.

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

◆ tile_dm()

Identifier AtlasDetectorID::tile_dm ( void ) const
inherited

Definition at line 122 of file AtlasDetectorID.cxx.

122 {
123 return makeId(m_det_impl, m_calo_side_impl, calo_field_value(), -5);
124}

◆ tile_exp()

ExpandedIdentifier AtlasDetectorID::tile_exp ( void ) const
protectedinherited

Definition at line 969 of file AtlasDetectorID.cxx.

970{
971 ExpandedIdentifier result;
972 return (result << m_TILE_ID);
973}

◆ tile_extbarrel()

Identifier Tile_Base_ID::tile_extbarrel ( ) const
inherited

build identifier for Tile Extended Barrel

Definition at line 336 of file Tile_Base_ID.cxx.

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

◆ tile_field_value()

int AtlasDetectorID::tile_field_value ( ) const
inlineprotectedinherited

Definition at line 460 of file AtlasDetectorID.h.

460{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 355 of file Tile_Base_ID.cxx.

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

◆ tile_system()

Identifier Tile_Base_ID::tile_system ( ) const
inherited

build identifier for whole TileCal

Definition at line 301 of file Tile_Base_ID.cxx.

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

◆ to_range()

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

Definition at line 411 of file AtlasDetectorID.cxx.

411 {
412
413 // Build a string from the contents of an identifier
414 int fields = id.fields();
415 std::string result;
416 for (int i = 0; i < fields; ++i) {
417 if (i > 0) {
418 result += '/'; // add '/' only if NOT first one
419 }
420 result += std::to_string(id[i]);
421 }
422 return result;
423}

◆ to_string() [1/2]

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

Definition at line 52 of file Tile_Base_ID.cxx.

53{
54 IdContext context;
55 switch (level) {
56 case 1: case -6:
57 case 2: case -5: context = region_context(); break;
58 case 3: case -4: context = module_context(); break;
59 case 4: case -3: context = tower_context(); break;
60 case 5: case -2: context = cell_context(); break;
61 case 6: case -1: context = pmt_context(); break;
62 case 7: case 0: context = adc_context(); break;
63 default:
64 return "Tile_Base_ID::to_string - unknown context";
65 }
66
67 ExpandedIdentifier exp_id;
68 if ( get_expanded_id(id,exp_id,&context) ) {
69 return "Tile_Base_ID::to_string - can not expand ID";
70 } else {
71 return (std::string)(exp_id);
72 }
73}
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 76 of file Tile_Base_ID.cxx.

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

◆ tower()

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

Definition at line 165 of file Tile_Base_ID.cxx.

166{
167 return get_field(id,m_TOWER_INDEX);
168}

◆ tower_begin()

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

iterator over set of tower Identifiers

Definition at line 1346 of file Tile_Base_ID.cxx.

1347{
1348 return m_towers.begin();
1349}

◆ tower_context()

IdContext Tile_Base_ID::tower_context ( ) const
inherited

id for towers

Definition at line 1053 of file Tile_Base_ID.cxx.

1054{
1055 return {0, m_TOWER_INDEX};
1056}

◆ tower_end()

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

Definition at line 1351 of file Tile_Base_ID.cxx.

1352{
1353 return m_towers.end();
1354}

◆ tower_hash_max()

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

Definition at line 1296 of file Tile_Base_ID.cxx.

1297{
1298 return m_towers.hash_max();
1299}

◆ tower_id() [1/5]

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

Definition at line 1450 of file Tile_Base_ID.cxx.

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

◆ tower_id() [2/5]

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

Definition at line 569 of file Tile_Base_ID.cxx.

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

◆ 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 929 of file Tile_Base_ID.cxx.

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

◆ tower_id() [4/5]

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

Definition at line 562 of file Tile_Base_ID.cxx.

564{
565 return tower_id (section, side, module, tower, do_checks());
566}

◆ 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 525 of file Tile_Base_ID.cxx.

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

◆ tower_ids()

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

Definition at line 1416 of file Tile_Base_ID.cxx.

1417{
1418 return m_towers.ids();
1419}

◆ tower_range()

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

Definition at line 1356 of file Tile_Base_ID.cxx.

1357{
1358 return m_towers.range();
1359}

◆ trt()

Identifier AtlasDetectorID::trt ( void ) const
inherited

Definition at line 90 of file AtlasDetectorID.cxx.

90 {
92}

◆ trt_exp()

ExpandedIdentifier AtlasDetectorID::trt_exp ( void ) const
protectedinherited

Definition at line 1011 of file AtlasDetectorID.cxx.

1012{
1013 ExpandedIdentifier result(indet_exp());
1014 return (result << m_TRT_ID);
1015}

◆ trt_field_value()

int AtlasDetectorID::trt_field_value ( ) const
inlineprotectedinherited

Definition at line 475 of file AtlasDetectorID.h.

475{return (m_TRT_ID);}

◆ zdc_exp()

ExpandedIdentifier AtlasDetectorID::zdc_exp ( void ) const
protectedinherited

Definition at line 1074 of file AtlasDetectorID.cxx.

1075{
1076 ExpandedIdentifier result(fwd_exp());
1077 return (result << m_ZDC_ID);
1078}

◆ zdc_field_value()

int AtlasDetectorID::zdc_field_value ( ) const
inlineprotectedinherited

Definition at line 522 of file AtlasDetectorID.h.

522{return (m_ZDC_ID);}

◆ TileNeighbour

friend class TileNeighbour
friend

Definition at line 69 of file TileID.h.

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.

◆ invalidId

int AtlasDetectorID::invalidId {-1}
staticconstexprinherited

Definition at line 81 of file AtlasDetectorID.h.

81{-1};

◆ invalidIndex

int AtlasDetectorID::invalidIndex {999}
staticconstexprinherited

Definition at line 80 of file AtlasDetectorID.h.

80{999};

◆ m_adc_impl

IdDictFieldImplementation Tile_Base_ID::m_adc_impl
privateinherited

Definition at line 355 of file Tile_Base_ID.h.

◆ m_ADC_INDEX

size_type Tile_Base_ID::m_ADC_INDEX
privateinherited

Definition at line 346 of file Tile_Base_ID.h.

◆ m_adcs

CaloIDHelper::HashGroup Tile_Base_ID::m_adcs
privateinherited

Definition at line 368 of file Tile_Base_ID.h.

◆ m_ALFA_ID

int AtlasDetectorID::m_ALFA_ID {1}
privateinherited

Definition at line 411 of file AtlasDetectorID.h.

411{1};

◆ m_atlas_dict

const IdDictDictionary* AtlasDetectorID::m_atlas_dict {}
privateinherited

Definition at line 368 of file AtlasDetectorID.h.

368{};

◆ m_BCM_ID

int AtlasDetectorID::m_BCM_ID {3}
privateinherited

Definition at line 412 of file AtlasDetectorID.h.

412{3};

◆ m_calo_dict

const IdDictDictionary* AtlasDetectorID::m_calo_dict {}
privateinherited

Definition at line 373 of file AtlasDetectorID.h.

373{};

◆ m_CALO_ID

int AtlasDetectorID::m_CALO_ID {10}
privateinherited

Definition at line 393 of file AtlasDetectorID.h.

393{10};

◆ m_calo_side_impl

IdDictFieldImplementation AtlasDetectorID::m_calo_side_impl
privateinherited

Definition at line 419 of file AtlasDetectorID.h.

◆ m_CSC_ID

int AtlasDetectorID::m_CSC_ID {1}
privateinherited

Definition at line 405 of file AtlasDetectorID.h.

405{1};

◆ m_det_impl

IdDictFieldImplementation AtlasDetectorID::m_det_impl
privateinherited

Definition at line 417 of file AtlasDetectorID.h.

◆ m_DET_INDEX

size_type AtlasDetectorID::m_DET_INDEX {999}
privateinherited

Definition at line 386 of file AtlasDetectorID.h.

386{999};

◆ m_dict

* The dictionary for this helper const IdDictDictionary* CaloIDHelper::m_dict
privateinherited

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 355 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 361 of file AtlasDetectorID.h.

◆ m_dict_version

std::string AtlasDetectorID::m_dict_version
privateinherited

Definition at line 366 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 440 of file AtlasDetectorID.h.

440{};

◆ 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 443 of file AtlasDetectorID.h.

443{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 358 of file AtlasDetectorID.h.

◆ m_full_adc_range

MultiRange Tile_Base_ID::m_full_adc_range
privateinherited

Definition at line 363 of file Tile_Base_ID.h.

◆ m_full_cell_range

MultiRange Tile_Base_ID::m_full_cell_range
privateinherited

Definition at line 361 of file Tile_Base_ID.h.

◆ m_full_module_range

MultiRange Tile_Base_ID::m_full_module_range
privateinherited

Definition at line 359 of file Tile_Base_ID.h.

◆ m_full_pmt_range

MultiRange Tile_Base_ID::m_full_pmt_range
privateinherited

Definition at line 362 of file Tile_Base_ID.h.

◆ m_full_region_range

MultiRange Tile_Base_ID::m_full_region_range
privateinherited

Definition at line 358 of file Tile_Base_ID.h.

◆ m_full_tower_range

MultiRange Tile_Base_ID::m_full_tower_range
privateinherited

Definition at line 360 of file Tile_Base_ID.h.

◆ m_fwd_dict

const IdDictDictionary* AtlasDetectorID::m_fwd_dict {}
privateinherited

Definition at line 374 of file AtlasDetectorID.h.

374{};

◆ m_FWD_ID

int AtlasDetectorID::m_FWD_ID {13}
privateinherited

Definition at line 410 of file AtlasDetectorID.h.

410{13};

◆ m_fwd_part_impl

IdDictFieldImplementation AtlasDetectorID::m_fwd_part_impl
privateinherited

Definition at line 425 of file AtlasDetectorID.h.

◆ m_group

std::string AtlasDetectorID::m_group
protectedinherited

Group name.

Definition at line 352 of file AtlasDetectorID.h.

◆ m_helper

std::unique_ptr<AtlasDetectorIDHelper> AtlasDetectorID::m_helper {}
privateinherited

Definition at line 430 of file AtlasDetectorID.h.

430{};

◆ m_HGTD_ID

int AtlasDetectorID::m_HGTD_ID {4}
privateinherited

Definition at line 397 of file AtlasDetectorID.h.

397{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 369 of file AtlasDetectorID.h.

369{};

◆ m_INDET_ID

int AtlasDetectorID::m_INDET_ID {2}
privateinherited

Definition at line 389 of file AtlasDetectorID.h.

389{2};

◆ m_indet_part_impl

IdDictFieldImplementation AtlasDetectorID::m_indet_part_impl
privateinherited

Definition at line 418 of file AtlasDetectorID.h.

◆ m_is_initialized_from_dict

bool AtlasDetectorID::m_is_initialized_from_dict {}
privateinherited

Definition at line 435 of file AtlasDetectorID.h.

435{};

◆ m_isHighLuminosityLHC

bool AtlasDetectorID::m_isHighLuminosityLHC {}
privateinherited

Definition at line 436 of file AtlasDetectorID.h.

436{};

◆ m_lar_dict

const IdDictDictionary* AtlasDetectorID::m_lar_dict {}
privateinherited

Definition at line 370 of file AtlasDetectorID.h.

370{};

◆ m_lar_dm_field

Range::field AtlasDetectorID::m_lar_dm_field
privateinherited

Definition at line 428 of file AtlasDetectorID.h.

◆ m_LAR_EM_ID

int AtlasDetectorID::m_LAR_EM_ID {1}
privateinherited

Definition at line 400 of file AtlasDetectorID.h.

400{1};

◆ m_LAR_FCAL_ID

int AtlasDetectorID::m_LAR_FCAL_ID {3}
privateinherited

Definition at line 402 of file AtlasDetectorID.h.

402{3};

◆ m_lar_fcal_module_impl

IdDictFieldImplementation AtlasDetectorID::m_lar_fcal_module_impl
privateinherited

Definition at line 421 of file AtlasDetectorID.h.

◆ m_LAR_FCAL_MODULE_INDEX

int AtlasDetectorID::m_LAR_FCAL_MODULE_INDEX {999}
privateinherited

Definition at line 403 of file AtlasDetectorID.h.

403{999};

◆ m_LAR_HEC_ID

int AtlasDetectorID::m_LAR_HEC_ID {2}
privateinherited

Definition at line 401 of file AtlasDetectorID.h.

401{2};

◆ m_LAR_ID

int AtlasDetectorID::m_LAR_ID {4}
privateinherited

Definition at line 390 of file AtlasDetectorID.h.

390{4};

◆ m_lar_part_impl

IdDictFieldImplementation AtlasDetectorID::m_lar_part_impl
privateinherited

Definition at line 420 of file AtlasDetectorID.h.

◆ m_LUCID_ID

int AtlasDetectorID::m_LUCID_ID {5}
privateinherited

Definition at line 413 of file AtlasDetectorID.h.

413{5};

◆ m_LUMI_ID

int AtlasDetectorID::m_LUMI_ID {3}
privateinherited

Definition at line 398 of file AtlasDetectorID.h.

398{3};

◆ m_LUMI_PLR_ID

int AtlasDetectorID::m_LUMI_PLR_ID {1}
privateinherited

Definition at line 399 of file AtlasDetectorID.h.

399{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 426 of file AtlasDetectorID.h.

◆ m_lvl1_onl_field

Range::field AtlasDetectorID::m_lvl1_onl_field
privateinherited

Definition at line 427 of file AtlasDetectorID.h.

◆ m_MDT_ID

int AtlasDetectorID::m_MDT_ID {0}
privateinherited

Definition at line 404 of file AtlasDetectorID.h.

404{0};

◆ m_MM_ID

int AtlasDetectorID::m_MM_ID {5}
privateinherited

Definition at line 409 of file AtlasDetectorID.h.

409{5};

◆ m_module_impl

IdDictFieldImplementation Tile_Base_ID::m_module_impl
privateinherited

Definition at line 351 of file Tile_Base_ID.h.

◆ m_MODULE_INDEX

size_type Tile_Base_ID::m_MODULE_INDEX
privateinherited

Definition at line 342 of file Tile_Base_ID.h.

◆ m_modules

CaloIDHelper::HashGroup Tile_Base_ID::m_modules
privateinherited

Definition at line 365 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 372 of file AtlasDetectorID.h.

372{};

◆ m_MUON_ID

int AtlasDetectorID::m_MUON_ID {7}
privateinherited

Definition at line 392 of file AtlasDetectorID.h.

392{7};

◆ m_muon_mdt_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_mdt_impl
privateinherited

Definition at line 423 of file AtlasDetectorID.h.

◆ m_muon_rpc_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_rpc_impl
privateinherited

Definition at line 424 of file AtlasDetectorID.h.

◆ m_muon_station_name_impl

IdDictFieldImplementation AtlasDetectorID::m_muon_station_name_impl
privateinherited

Definition at line 422 of file AtlasDetectorID.h.

◆ m_MUON_SUBDET_INDEX

size_type AtlasDetectorID::m_MUON_SUBDET_INDEX {999}
privateinherited

Definition at line 388 of file AtlasDetectorID.h.

388{999};

◆ m_muon_tech_bits

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

Definition at line 433 of file AtlasDetectorID.h.

◆ m_name

* Name of this helper std::string CaloIDHelper::m_name
privateinherited

Definition at line 323 of file CaloIDHelper.h.

◆ m_neighbour

TileNeighbour Tile_Base_ID::m_neighbour
privateinherited

Definition at line 370 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 394 of file AtlasDetectorID.h.

394{1};

◆ m_pmt_impl

IdDictFieldImplementation Tile_Base_ID::m_pmt_impl
privateinherited

Definition at line 354 of file Tile_Base_ID.h.

◆ m_PMT_INDEX

size_type Tile_Base_ID::m_PMT_INDEX
privateinherited

Definition at line 345 of file Tile_Base_ID.h.

◆ m_pmts

CaloIDHelper::HashGroup Tile_Base_ID::m_pmts
privateinherited

Definition at line 367 of file Tile_Base_ID.h.

◆ m_regions

* Group of region Identifiers HashGroup CaloIDHelper::m_regions
privateinherited

Definition at line 329 of file CaloIDHelper.h.

◆ m_RPC_ID

int AtlasDetectorID::m_RPC_ID {2}
privateinherited

Definition at line 406 of file AtlasDetectorID.h.

406{2};

◆ m_sample_impl

IdDictFieldImplementation Tile_Base_ID::m_sample_impl
privateinherited

Definition at line 353 of file Tile_Base_ID.h.

◆ m_SAMPLE_INDEX

size_type Tile_Base_ID::m_SAMPLE_INDEX
privateinherited

Definition at line 344 of file Tile_Base_ID.h.

◆ m_SCT_ID

int AtlasDetectorID::m_SCT_ID {2}
privateinherited

Definition at line 395 of file AtlasDetectorID.h.

395{2};

◆ m_section_impl

IdDictFieldImplementation Tile_Base_ID::m_section_impl
privateinherited

Definition at line 349 of file Tile_Base_ID.h.

◆ m_SECTION_INDEX

size_type Tile_Base_ID::m_SECTION_INDEX
privateinherited

Definition at line 340 of file Tile_Base_ID.h.

◆ m_side_impl

IdDictFieldImplementation Tile_Base_ID::m_side_impl
privateinherited

Definition at line 350 of file Tile_Base_ID.h.

◆ m_SIDE_INDEX

size_type Tile_Base_ID::m_SIDE_INDEX
privateinherited

Definition at line 341 of file Tile_Base_ID.h.

◆ m_slar_impl

IdDictFieldImplementation Tile_Base_ID::m_slar_impl
privateinherited

Definition at line 356 of file Tile_Base_ID.h.

◆ m_STGC_ID

int AtlasDetectorID::m_STGC_ID {4}
privateinherited

Definition at line 408 of file AtlasDetectorID.h.

408{4};

◆ m_SUBDET_INDEX

size_type AtlasDetectorID::m_SUBDET_INDEX {999}
privateinherited

Definition at line 387 of file AtlasDetectorID.h.

387{999};

◆ m_supercell

unsigned Tile_Base_ID::m_supercell
privateinherited

Definition at line 336 of file Tile_Base_ID.h.

◆ m_system_impl

IdDictFieldImplementation Tile_Base_ID::m_system_impl
privateinherited

Definition at line 348 of file Tile_Base_ID.h.

◆ m_SYSTEM_INDEX

size_type Tile_Base_ID::m_SYSTEM_INDEX
privateinherited

Definition at line 339 of file Tile_Base_ID.h.

◆ m_TGC_ID

int AtlasDetectorID::m_TGC_ID {3}
privateinherited

Definition at line 407 of file AtlasDetectorID.h.

407{3};

◆ m_tile_dict

const IdDictDictionary* AtlasDetectorID::m_tile_dict {}
privateinherited

Definition at line 371 of file AtlasDetectorID.h.

371{};

◆ m_tile_dm_field

Range::field AtlasDetectorID::m_tile_dm_field
privateinherited

Definition at line 429 of file AtlasDetectorID.h.

◆ m_TILE_ID

int AtlasDetectorID::m_TILE_ID {5}
privateinherited

Definition at line 391 of file AtlasDetectorID.h.

391{5};

◆ m_tile_region_index

size_type Tile_Base_ID::m_tile_region_index
privateinherited

Definition at line 338 of file Tile_Base_ID.h.

◆ m_tower_impl

IdDictFieldImplementation Tile_Base_ID::m_tower_impl
privateinherited

Definition at line 352 of file Tile_Base_ID.h.

◆ m_TOWER_INDEX

size_type Tile_Base_ID::m_TOWER_INDEX
privateinherited

Definition at line 343 of file Tile_Base_ID.h.

◆ m_towers

CaloIDHelper::HashGroup Tile_Base_ID::m_towers
privateinherited

Definition at line 366 of file Tile_Base_ID.h.

◆ m_TRT_ID

int AtlasDetectorID::m_TRT_ID {3}
privateinherited

Definition at line 396 of file AtlasDetectorID.h.

396{3};

◆ m_vecOfDictRegions

* List of c IdDictRegion objects std::vector<const IdDictRegion*> CaloIDHelper::m_vecOfDictRegions
privateinherited

Definition at line 335 of file CaloIDHelper.h.

◆ m_ZDC_ID

int AtlasDetectorID::m_ZDC_ID {7}
privateinherited

Definition at line 414 of file AtlasDetectorID.h.

414{7};

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