ATLAS Offline Software
Loading...
Searching...
No Matches
LArOnlineID_Base Class Referenceabstract

Helper for the Liquid Argon Calorimeter cell identifiers. More...

#include <LArOnlineID_Base.h>

Inheritance diagram for LArOnlineID_Base:
Collaboration diagram for LArOnlineID_Base:

Classes

class  HashCalc
 Define the Hash identifier for channels and febs. More...
class  HashCalcFeb

Public Types

using size_type = Identifier::size_type
using id_iterator = std::vector<HWIdentifier>::const_iterator
 Type for iterators over identifiers.
using id_range = std::ranges::subrange<id_iterator>
 Type for range over identifiers.
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

 LArOnlineID_Base (const std::string &name, const std::string &group, bool is_slar)
 Default constructor.
virtual ~LArOnlineID_Base ()
 Default destructor.
HWIdentifier feedthrough_Id (int barrel_ec, int pos_neg, int feedthrough) const
 Create a feedthrough identifier from fields.
HWIdentifier feedthrough_Id (int barrel_ec, int pos_neg, int feedthrough, bool checks) const
HWIdentifier feedthrough_Id (IdentifierHash feedthroughHash) const
 Create a feedthrough identifier from hash_id.
IdentifierHash feedthrough_Hash (HWIdentifier feedthroughId) const
 Create hash id from feedthrough identifiers.
id_iterator feedthrough_begin () const
 Return an iterator pointing to Feedthrough identifiers collection.
id_iterator feedthrough_end () const
id_range feedthrough_range () const
HWIdentifier feb_Id (int barrel_ec, int pos_neg, int feedthrough, int slot) const
 Create feb_Id from fields.
HWIdentifier feb_Id (int barrel_ec, int pos_neg, int feedthrough, int slot, bool checks) const
HWIdentifier feb_Id (IdentifierHash febHash) const
 create feb identifier from hash id
IdentifierHash feb_Hash (HWIdentifier febId) const
 Create feb hash identifiers from feb identifiers.
id_iterator feb_begin () const
 Returns an iterator pointing to a feb identifier collection.
id_iterator feb_end () const
id_range feb_range () const
HWIdentifier channel_Id (int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
 create channel identifier from fields
HWIdentifier channel_Id (int barrel_ec, int pos_neg, int feedthrough, int slot, int channel, bool checks) const
HWIdentifier channel_Id (IdentifierHash channelHash) const
 Create channel identifiers from hash id.
IdentifierHash channel_Hash (HWIdentifier channelId) const
 Create channel_hash from channel_Id.
id_iterator channel_begin () const
 Returns an iterator pointing to a channel identifier collection.
id_iterator channel_end () const
id_range channel_range () const
HWIdentifier feedthrough_Id (const HWIdentifier Id) const
 Define a channel identifier from a feedthrough identifier.
HWIdentifier feb_Id (const HWIdentifier channelId) const
 Define a feb identifier from a channel identifier.
HWIdentifier feb_Id (const HWIdentifier feedthroughId, int slot) const
 Define a feb identifier from a feedthrough identifier.
HWIdentifier channel_Id (const HWIdentifier feedthroughId, int slot, int channel) const
 Define a channel identifier from a feedthrough identifier.
HWIdentifier channel_Id (const HWIdentifier feedthroughId, int slot, int channel, bool checks) const
HWIdentifier channel_Id (const HWIdentifier febId, int channel) const
 Define a channel identifier from a feb identifier.
HWIdentifier channel_Id (const HWIdentifier febId, int channel, bool checks) const
size_type feedthroughHashMax () const
 Define feedthrough hash tables max size.
size_type febHashMax () const
 define feb hash tables max size
size_type channelHashMax () const
 Define channel hash tables max size.
HWIdentifier calib_module_Id (int barrel_ec, int pos_neg, int feedthrough, int slot) const
 Build calibration module identifier from fields.
HWIdentifier calib_module_Id (IdentifierHash calibModuleHash) const
 Create calibration module identifier from hash identifiers.
IdentifierHash calib_module_Hash (HWIdentifier calibModuleId) const
 create calibration module_hash identifier from module Identifier
id_iterator calib_module_begin () const
 Return an iterator pointing to a calibFeb identifier 's collection.
id_iterator calib_module_end () const
id_range calib_module_range () const
HWIdentifier calib_channel_Id (int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
 create calibration channel identifiers from fields
HWIdentifier calib_channel_Id (IdentifierHash calibChannelHash) const
 create calibration channel identifiers from hash identifiers
id_iterator calib_channel_begin () const
 Return an iterator pointing to a collection of calibration channel identifiers.
id_iterator calib_channel_end () const
id_range calib_channel_range () const
HWIdentifier calib_module_Id (const HWIdentifier ChannelId) const
 Define a calibration module identifier from a channel identifier.
HWIdentifier calib_module_Id (const HWIdentifier FeedthroughId, int slot) const
 Define a calibration module identifier from a feedthrough identifier.
HWIdentifier calib_channel_Id (const HWIdentifier FeedthroughId, int slot, int channel) const
 Define a calibration channel identifier from a feedthrough identifier.
HWIdentifier calib_channel_Id (const HWIdentifier febId, int ChannelId) const
 Define a calibration channel identifier from a feb identifier.
IdentifierHash calib_channel_Hash (HWIdentifier channelId) const
size_type calibModuleHashMax () const
 Define calibration module hash tables max size.
size_type calibChannelHashMax () const
 Define calibration channel hash tables max size.
bool isEMBchannel (const HWIdentifier id) const
virtual bool isEMECchannel (const HWIdentifier id) const =0
virtual bool isHECchannel (const HWIdentifier id) const =0
bool isFCALchannel (const HWIdentifier id) const
virtual bool isEMECIW (const HWIdentifier id) const =0
virtual bool isEMECOW (const HWIdentifier id) const =0
bool isEMBPS (const HWIdentifier id) const
bool isEMECPS (const HWIdentifier id) const
bool isPS (const HWIdentifier id) const
bool isNotWarmCableConnected (const HWIdentifier id) const
bool isCalibration (const HWIdentifier id) const
bool isHecOnline (const HWIdentifier id) const
bool isHecOnlineFebId (const HWIdentifier febId) const
bool isEMECinHECchannel (const HWIdentifier id) const
bool isEmBarrelOnline (const HWIdentifier id) const
bool isEmEndcapOnline (const HWIdentifier id) const
bool isEndcapOnline (const HWIdentifier id) const
bool isFcalOnline (const HWIdentifier id) const
bool isEmEndcapStandardOnline (const HWIdentifier id) const
bool isEmEndcapSpecialOnline (const HWIdentifier id) const
int channelInSlotMax (const HWIdentifier Id) const
 Return the Maximum channel number of a given feb slot.
std::string feedthrough_name (const HWIdentifier id) const
 Return a string corresponding to a feedthrough name given an identifier.
std::string channel_name (const HWIdentifier id) const
 Return a string corresponding to a feedthrough name given an identifier.
int barrel_ec (const HWIdentifier id) const
 Return the position barrel or endcap of a hardware cell identifier:
barrel_ec = [0,1] : Barrel / EndCap.
int pos_neg (const HWIdentifier id) const
 Return the side of a hardware cell identifier
pos_neg = [0,1] positive-side or negative-side Barrel/Endcap.
int feedthrough (const HWIdentifier id) const
 Return the feedthrough of a hardware cell identifier :
feedthrough = [0,31] Barrel - A/C side or H/I half barrel
feedthrough = [1,25] Endcap-Standard EMEC 1.6<|eta|<2.4 - A/C side
feedthrough = [1,25] Endcap-Special EMEC 1.5<|eta|<1.6 and 2.4<|eta|<3.2
feedthrough = [1,25] HEC A/C side.
int slot (const HWIdentifier id) const
 Return the slot number of a hardware cell identifier:
slot = [1,15] Slot-ID in top part of the crate (higher phi)
Note that a crate is = Slot(1-15)L + Slot(1-15)R.
int channel (const HWIdentifier id) const
 Return the channel number of a hardware cell identifier
channel = [0,127] in all FEB.
int is_slar (const HWIdentifier id) const
 Return whether the channel is in slar or not is_ slar = [0,1] in all FEB.
bool isValidId (const HWIdentifier id) const
 Returns false if the identifier is not a LAr-online id or any of the sub-fields is out of range.
virtual int initialize_from_dictionary (const IdDictMgr &dict_mgr)
 initialization from the identifier dictionary
IdContext cryostatEndContext () const
 Define context for cryostat (obsolete).
IdContext feedthroughContext () const
 Define context for feedthroughs.
IdContext febContext () const
 Define context for feb.
IdContext channelContext () const
 Define context for channel.
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.
Generic conversion between identifier and idhash
virtual int get_id (const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const override
 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 override
 Create hash id from compact id (return == 0 for OK).
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 Types

enum  { NOT_VALID_HASH = 256000 }

Protected Member Functions

IdentifierHash feb_Hash_binary_search (HWIdentifier channelId) const
IdentifierHash channel_Hash_binary_search (HWIdentifier channelId) const
void channel_Id_checks (int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
void channel_Id_checks (const HWIdentifier feedthroughId, int slot, int channel) const
void channel_Id_checks (const HWIdentifier febId, int channel) const
void feb_Id_checks (int barrel_ec, int pos_neg, int feedthrough, int slot) const
void feedthrough_Id_checks (int barrel_ec, int pos_neg, int feedthrough) const
int get_expanded_id (const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
 create expanded HWIdentifier from HWIdentifier (return == 0 for OK)
int get_expanded_calib_id (const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
int initLevelsFromDict (const std::string &group_name)
int init_hashes ()
int init_calib_hashes ()

Protected Attributes

bool m_this_is_slar
size_type m_laronlineRegion_index
size_type m_lar_index
size_type m_laronline_index
size_type m_bec_index
size_type m_side_index
size_type m_feedthrough_index
size_type m_slot_index
size_type m_channel_in_slot_index
size_type m_slar_index
const IdDictDictionary * m_dict
MultiRange m_full_laronline_range
MultiRange m_full_feedthrough_range
MultiRange m_full_feb_range
MultiRange m_full_channel_range
size_type m_feedthroughHashMax
size_type m_febHashMax
size_type m_channelHashMax
std::vector< HWIdentifier > m_feedthrough_vec
std::vector< HWIdentifier > m_feb_vec
std::vector< HWIdentifier > m_channel_vec
MultiRange m_full_calib_laronline_range
MultiRange m_full_calib_module_range
size_type m_calibModuleHashMax
size_type m_calibChannelHashMax
std::vector< HWIdentifier > m_calib_module_vec
std::vector< HWIdentifier > m_calib_channel_vec
IdDictFieldImplementation m_lar_impl
 Field Implementation.
IdDictFieldImplementation m_laronline_impl
IdDictFieldImplementation m_bec_impl
IdDictFieldImplementation m_side_impl
IdDictFieldImplementation m_feedthrough_impl
IdDictFieldImplementation m_slot_impl
IdDictFieldImplementation m_channel_in_slot_impl
IdDictFieldImplementation m_bec_ft_impl
IdDictFieldImplementation m_bec_slot_impl
IdDictFieldImplementation m_slar_impl
std::vector< HashCalcFeb > m_feb_hash_calcs
std::vector< HashCalc > m_chan_hash_calcs

Private Member Functions

void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels).
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging).

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

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.
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
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_dict_version
const IdDictDictionary * m_atlas_dict {}
const IdDictDictionary * m_indet_dict {}
const IdDictDictionary * m_lar_dict {}
const IdDictDictionary * m_tile_dict {}
const IdDictDictionary * m_muon_dict {}
const IdDictDictionary * m_calo_dict {}
const IdDictDictionary * m_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< AtlasDetectorIDHelper > m_helper {}
std::vector< unsigned int > m_muon_tech_bits
bool m_is_initialized_from_dict {}
bool m_isHighLuminosityLHC {}
const IdDictDictionary * dictionary (const Identifier &id) const

Detailed Description

Helper for the Liquid Argon Calorimeter cell identifiers.

This class provides a hardware description of a calorimeter cell

Author
Arnaud Lucotte

LArCalorimeter fields:

Part: 4 = LArOnline barrel_ec : 0 = barrel 1 = end-cap pos_neg : 0 = negative eta side (C side) 1 = positive eta side (A side) feedthrough :
[0,31] = EM BARREL crates 00,01,04,07,08,11,12,13, 14,17,18,19,20,23,24 = EMEC Standard crates 02,09,15,21 = EMEC Special crates 03,10,16,22 = HEC crates (note: slots 1&2 are EMEC slots) 06 = FCAL crate
25-27 = sFCAL (is reported as FCAL) slot :
1 to 14 = EM BARREL crates 1 to 13 = Endcap Standard crates 1 to 15 = Endcap Special crates 5,6,7,8,9,10 = HEC in HEC crates 1,2 = EMEC in HEC crates 1 to 15 = FCAL crates 1 to 10 = sFCAL crates channel: 0 to 127

In the following, four contexts are defined:

  • cryostatEndContext
  • feedthroughContext
  • febContext
  • channelContext

Throw a LArOnlID_Exception if one parameter is out of range

Access Methods :

There are three types of methods:

  • recommended methods
  • methods that can still be used but with special care
  • methods that are now obsolete

RECOMMENDED methods : bool isEMBchannel (const HWIdentifier Id) const; bool isEMECchannel (const HWIdentifier Id) const; bool isHECchannel (const HWIdentifier Id) const; bool isFCALchannel (const HWIdentifier Id) const; bool isEMECIW (const HWIdentifier Id) const; bool isEMECOW (const HWIdentifier Id) const; bool isEndcapOnline (const HWIdentifier Id) const; bool isEmEndcapStandardOnline(const HWIdentifier Id) const; bool isEmEndcapSpecialOnline (const HWIdentifier Id) const; bool isEMBPS (const HWIdentifier Id) const; bool isEMECPS (const HWIdentifier Id) const; bool isPS (const HWIdentifier Id) const;

USE-with-CARE methods (still used for historical reasons): bool isHecOnline (const HWIdentifier chId) const; bool isHecOnlineFebId(const HWIdentifier febId)const; bool isEMECinHECchannel(const HWIdentifier Id) const;

OBSOLETE methods : bool isEmBarrelOnline(const HWIdentifier chId) const; -> use isEMBchannel bool isEmEndcapOnline(const HWIdentifier chId) const; -> use isEMECchannel bool isFcalOnline (const HWIdentifier chId) const; -> use isFCALchannel

int channelInSlotMax (const HWIdentifier Id) const;


Definition at line 96 of file LArOnlineID_Base.h.

Member Typedef Documentation

◆ id_iterator

Type for iterators over identifiers.

Definition at line 103 of file LArOnlineID_Base.h.

◆ id_range

using LArOnlineID_Base::id_range = std::ranges::subrange<id_iterator>

Type for range over identifiers.

Definition at line 105 of file LArOnlineID_Base.h.

◆ size_type

using LArOnlineID_Base::size_type = Identifier::size_type

Definition at line 100 of file LArOnlineID_Base.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NOT_VALID_HASH 

Definition at line 436 of file LArOnlineID_Base.h.

◆ 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 };

Constructor & Destructor Documentation

◆ LArOnlineID_Base()

LArOnlineID_Base::LArOnlineID_Base ( const std::string & name,
const std::string & group,
bool is_slar )

Default constructor.

Definition at line 49 of file LArOnlineID_Base.cxx.

51 :
55 m_lar_index(999),
57 m_bec_index(999),
58 m_side_index(999),
60 m_slot_index(999),
62 m_slar_index(999),
63 m_dict(nullptr),
65 m_febHashMax(0),
69{
70}
const std::string & group() const
Group name for this helper.
AtlasDetectorID(const std::string &name, const std::string &group)
size_type m_calibModuleHashMax
const IdDictDictionary * m_dict
size_type m_channel_in_slot_index
size_type m_feedthrough_index
int is_slar(const HWIdentifier id) const
Return whether the channel is in slar or not is_ slar = [0,1] in all FEB.
size_type m_laronline_index
size_type m_feedthroughHashMax
size_type m_laronlineRegion_index
size_type m_calibChannelHashMax

◆ ~LArOnlineID_Base()

LArOnlineID_Base::~LArOnlineID_Base ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ 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);}

◆ barrel_ec()

int LArOnlineID_Base::barrel_ec ( const HWIdentifier id) const

Return the position barrel or endcap of a hardware cell identifier:
barrel_ec = [0,1] : Barrel / EndCap.

Definition at line 1631 of file LArOnlineID_Base.cxx.

1633{
1634 return (m_bec_impl.unpack(id));
1635}
IdDictFieldImplementation m_bec_impl

◆ 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);}

◆ calib_channel_begin()

LArOnlineID_Base::id_iterator LArOnlineID_Base::calib_channel_begin ( ) const
inline

Return an iterator pointing to a collection of calibration channel identifiers.

Definition at line 705 of file LArOnlineID_Base.h.

707{
708 return(m_calib_channel_vec.begin());
709}
std::vector< HWIdentifier > m_calib_channel_vec

◆ calib_channel_end()

LArOnlineID_Base::id_iterator LArOnlineID_Base::calib_channel_end ( ) const
inline

Definition at line 710 of file LArOnlineID_Base.h.

712{
713 return(m_calib_channel_vec.end());
714}

◆ calib_channel_Hash()

IdentifierHash LArOnlineID_Base::calib_channel_Hash ( HWIdentifier channelId) const
inline

Definition at line 662 of file LArOnlineID_Base.h.

664{
665 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_channel_vec.begin(),m_calib_channel_vec.end(),channelId);
666 if ( it != m_calib_channel_vec.end() ){
667 return (it - m_calib_channel_vec.begin());
668 }
669 return(0) ;
670}

◆ calib_channel_Id() [1/4]

HWIdentifier LArOnlineID_Base::calib_channel_Id ( const HWIdentifier febId,
int ChannelId ) const
inline

Define a calibration channel identifier from a feb identifier.

Definition at line 646 of file LArOnlineID_Base.h.

648{
649 HWIdentifier result(febId);
650 /* Pack fields independently */
651 m_channel_in_slot_impl.reset(result);
652 m_channel_in_slot_impl.pack (channel, result);
653
654 return result;
655}
IdDictFieldImplementation m_channel_in_slot_impl
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.

◆ calib_channel_Id() [2/4]

HWIdentifier LArOnlineID_Base::calib_channel_Id ( const HWIdentifier FeedthroughId,
int slot,
int channel ) const
inline

Define a calibration channel identifier from a feedthrough identifier.

Definition at line 633 of file LArOnlineID_Base.h.

635{
636 HWIdentifier result(feedthroughId);
637 /* Pack fields independently */
638 m_slot_impl.reset (result);
639 m_channel_in_slot_impl.reset(result);
640 m_slot_impl.pack (slot , result);
641 m_channel_in_slot_impl.pack (channel, result);
642
643 return result;
644}
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
IdDictFieldImplementation m_slot_impl

◆ calib_channel_Id() [3/4]

HWIdentifier LArOnlineID_Base::calib_channel_Id ( IdentifierHash calibChannelHash) const
inline

create calibration channel identifiers from hash identifiers

Definition at line 656 of file LArOnlineID_Base.h.

658{
659 return(m_calib_channel_vec[channelHashId]);
660}

◆ calib_channel_Id() [4/4]

HWIdentifier LArOnlineID_Base::calib_channel_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot,
int channel ) const
inline

create calibration channel identifiers from fields

Definition at line 616 of file LArOnlineID_Base.h.

619{
620 HWIdentifier result(0);
621 /* Pack fields independently */
622 m_lar_impl.pack (lar_field_value() , result);
623 m_laronline_impl.pack (5 , result);
624 m_bec_impl.pack (barrel_ec , result);
625 m_side_impl.pack (pos_neg , result);
626 m_feedthrough_impl.pack (feedthrough , result);
627 m_slot_impl.pack (slot , result);
628 m_channel_in_slot_impl.pack(channel , result);
629
630 return result;
631}
int lar_field_value() const
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
IdDictFieldImplementation m_feedthrough_impl
IdDictFieldImplementation m_laronline_impl
IdDictFieldImplementation m_side_impl
IdDictFieldImplementation m_lar_impl
Field Implementation.

◆ calib_channel_range()

LArOnlineID_Base::id_range LArOnlineID_Base::calib_channel_range ( ) const
inline

Definition at line 715 of file LArOnlineID_Base.h.

717{
719}
std::ranges::subrange< id_iterator > id_range
Type for range over identifiers.
id_iterator calib_channel_begin() const
Return an iterator pointing to a collection of calibration channel identifiers.
id_iterator calib_channel_end() const

◆ calib_module_begin()

LArOnlineID_Base::id_iterator LArOnlineID_Base::calib_module_begin ( ) const
inline

Return an iterator pointing to a calibFeb identifier 's collection.

Definition at line 689 of file LArOnlineID_Base.h.

691{
692 return(m_calib_module_vec.begin());
693}
std::vector< HWIdentifier > m_calib_module_vec

◆ calib_module_end()

LArOnlineID_Base::id_iterator LArOnlineID_Base::calib_module_end ( ) const
inline

Definition at line 694 of file LArOnlineID_Base.h.

696{
697 return(m_calib_module_vec.end());
698}

◆ calib_module_Hash()

IdentifierHash LArOnlineID_Base::calib_module_Hash ( HWIdentifier calibModuleId) const
inline

create calibration module_hash identifier from module Identifier

Definition at line 606 of file LArOnlineID_Base.h.

608{
609 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_module_vec.begin(),m_calib_module_vec.end(),calibModuleId);
610 if ( it != m_calib_module_vec.end() ){
611 return (it - m_calib_module_vec.begin());
612 }
613 return (0);
614}

◆ calib_module_Id() [1/4]

HWIdentifier LArOnlineID_Base::calib_module_Id ( const HWIdentifier ChannelId) const
inline

Define a calibration module identifier from a channel identifier.

Definition at line 592 of file LArOnlineID_Base.h.

594{
595 HWIdentifier result(calibChannelId);
596 m_channel_in_slot_impl.reset(result);
597 return(result);
598}

◆ calib_module_Id() [2/4]

HWIdentifier LArOnlineID_Base::calib_module_Id ( const HWIdentifier FeedthroughId,
int slot ) const
inline

Define a calibration module identifier from a feedthrough identifier.

Definition at line 582 of file LArOnlineID_Base.h.

584{
585 HWIdentifier result(feedthroughId);
586 /* Pack fields independently */
587 m_slot_impl.reset (result);
588 m_slot_impl.pack (slot , result);
589 return(result);
590}

◆ calib_module_Id() [3/4]

HWIdentifier LArOnlineID_Base::calib_module_Id ( IdentifierHash calibModuleHash) const
inline

Create calibration module identifier from hash identifiers.

Definition at line 600 of file LArOnlineID_Base.h.

602{
603 return(m_calib_module_vec[calibModuleHashId]);
604}

◆ calib_module_Id() [4/4]

HWIdentifier LArOnlineID_Base::calib_module_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot ) const
inline

Build calibration module identifier from fields.

Definition at line 567 of file LArOnlineID_Base.h.

570{
571 HWIdentifier result(0);
572 /*Pack fields independently */
573 m_lar_impl.pack (lar_field_value(), result);
574 m_laronline_impl.pack (5 , result);
575 m_bec_impl.pack (barrel_ec , result);
576 m_side_impl.pack (pos_neg , result);
577 m_feedthrough_impl.pack(feedthrough , result);
578 m_slot_impl.pack (slot , result);
579 return result;
580}

◆ calib_module_range()

LArOnlineID_Base::id_range LArOnlineID_Base::calib_module_range ( ) const
inline

Definition at line 699 of file LArOnlineID_Base.h.

701{
703}
id_iterator calib_module_end() const
id_iterator calib_module_begin() const
Return an iterator pointing to a calibFeb identifier 's collection.

◆ calibChannelHashMax()

LArOnlineID_Base::size_type LArOnlineID_Base::calibChannelHashMax ( ) const
inline

Define calibration channel hash tables max size.

Definition at line 678 of file LArOnlineID_Base.h.

680{
682}

◆ calibModuleHashMax()

LArOnlineID_Base::size_type LArOnlineID_Base::calibModuleHashMax ( ) const
inline

Define calibration module hash tables max size.

Definition at line 673 of file LArOnlineID_Base.h.

675{
677}

◆ 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);}

◆ channel()

int LArOnlineID_Base::channel ( const HWIdentifier id) const

Return the channel number of a hardware cell identifier
channel = [0,127] in all FEB.

Definition at line 1656 of file LArOnlineID_Base.cxx.

1658{
1659 return (m_channel_in_slot_impl.unpack(id));
1660}

◆ channel_begin()

LArOnlineID_Base::id_iterator LArOnlineID_Base::channel_begin ( ) const

Returns an iterator pointing to a channel identifier collection.

Definition at line 1615 of file LArOnlineID_Base.cxx.

1617{
1618 return(m_channel_vec.begin());
1619}
std::vector< HWIdentifier > m_channel_vec

◆ channel_end()

LArOnlineID_Base::id_iterator LArOnlineID_Base::channel_end ( ) const

Definition at line 1620 of file LArOnlineID_Base.cxx.

1622{
1623 return(m_channel_vec.end());
1624}

◆ channel_Hash()

IdentifierHash LArOnlineID_Base::channel_Hash ( HWIdentifier channelId) const

Create channel_hash from channel_Id.

Definition at line 1325 of file LArOnlineID_Base.cxx.

1326{
1327 const HashCalc& hc = m_chan_hash_calcs[m_bec_slot_impl.unpack(channelId)];
1328 return (hc.m_hash + channel(channelId));
1329}
Define the Hash identifier for channels and febs.
IdDictFieldImplementation m_bec_slot_impl
std::vector< HashCalc > m_chan_hash_calcs

◆ channel_Hash_binary_search()

IdentifierHash LArOnlineID_Base::channel_Hash_binary_search ( HWIdentifier channelId) const
inlineprotected

Definition at line 554 of file LArOnlineID_Base.h.

556{
557 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_channel_vec.begin(),m_channel_vec.end(),channelId);
558 if ( it != m_channel_vec.end() ){
559 return (it - m_channel_vec.begin());
560 }
561 return(0) ;
562}

◆ channel_Id() [1/7]

HWIdentifier LArOnlineID_Base::channel_Id ( const HWIdentifier febId,
int channel ) const

Define a channel identifier from a feb identifier.

Definition at line 1319 of file LArOnlineID_Base.cxx.

1320{
1321 return channel_Id (febId, channel, do_checks());
1322}
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields

◆ channel_Id() [2/7]

HWIdentifier LArOnlineID_Base::channel_Id ( const HWIdentifier febId,
int channel,
bool checks ) const

Definition at line 1300 of file LArOnlineID_Base.cxx.

1303{
1304 HWIdentifier result(febId);
1305 /* Pack fields independently */
1306 m_channel_in_slot_impl.reset(result);
1307 m_channel_in_slot_impl.pack (channel, result);
1308 if ( m_this_is_slar )
1309 m_slar_impl.pack (1, result);
1310
1311 /* Do checks */
1312 if(checks) {
1313 channel_Id_checks( febId, channel );
1314 }
1315 return result;
1316}
void channel_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
IdDictFieldImplementation m_slar_impl

◆ channel_Id() [3/7]

HWIdentifier LArOnlineID_Base::channel_Id ( const HWIdentifier feedthroughId,
int slot,
int channel ) const

Define a channel identifier from a feedthrough identifier.

Definition at line 1294 of file LArOnlineID_Base.cxx.

1295{
1296 return channel_Id (feedthroughId, slot, channel, do_checks());
1297}

◆ channel_Id() [4/7]

HWIdentifier LArOnlineID_Base::channel_Id ( const HWIdentifier feedthroughId,
int slot,
int channel,
bool checks ) const

Definition at line 1273 of file LArOnlineID_Base.cxx.

1276{
1277 HWIdentifier result(feedthroughId);
1278 /* Pack fields independently */
1279 m_slot_impl.reset (result);
1280 m_channel_in_slot_impl.reset(result);
1281 m_slot_impl.pack (slot , result);
1282 m_channel_in_slot_impl.pack (channel, result);
1283 if ( m_this_is_slar )
1284 m_slar_impl.pack (1 , result);
1285
1286 /* Do checks */
1287 if(checks) {
1288 channel_Id_checks( feedthroughId, slot, channel );
1289 }
1290 return result;
1291}

◆ channel_Id() [5/7]

HWIdentifier LArOnlineID_Base::channel_Id ( IdentifierHash channelHash) const

Create channel identifiers from hash id.

Definition at line 1265 of file LArOnlineID_Base.cxx.

1267{
1268 return(m_channel_vec[channelHashId]);
1269}

◆ channel_Id() [6/7]

HWIdentifier LArOnlineID_Base::channel_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot,
int channel ) const

create channel identifier from fields

Definition at line 1258 of file LArOnlineID_Base.cxx.

1260{
1262 do_checks());
1263}

◆ channel_Id() [7/7]

HWIdentifier LArOnlineID_Base::channel_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot,
int channel,
bool checks ) const

Definition at line 1233 of file LArOnlineID_Base.cxx.

1237{
1238 HWIdentifier result(0);
1239 /* Pack fields independently */
1240 m_lar_impl.pack (lar_field_value() , result);
1242 m_bec_impl.pack (barrel_ec , result);
1243 m_side_impl.pack (pos_neg , result);
1244 m_feedthrough_impl.pack (feedthrough , result);
1245 m_slot_impl.pack (slot , result);
1246 m_channel_in_slot_impl.pack(channel , result);
1247 if ( m_this_is_slar )
1248 m_slar_impl.pack (1 , result);
1249
1250 /* Do checks */
1251 if(checks) {
1253 }
1254 return result;
1255}
static const int s_lar_online_field_value

◆ channel_Id_checks() [1/3]

void LArOnlineID_Base::channel_Id_checks ( const HWIdentifier febId,
int channel ) const
protected

Definition at line 578 of file LArOnlineID_Base.cxx.

581{
582 // Check that id is within allowed range
583 // Fill expanded id
584 ExpandedIdentifier expId;
585 IdContext context = febContext();
586 if (get_expanded_id(febId, expId, &context)) {
587 std::string errorMessage = "LArOnlineID_Base::channel_Id_checks(febId) result is not OK: ID = "
588 + show_to_string(febId) ;
589 LArOnlID_Exception except(errorMessage , 99);
590 throw except ;
591 }
592
593 expId << channel;
594 if ( m_this_is_slar ) expId << 1;
595 if (!m_full_laronline_range.match(expId)) {
596 std::string errorMessage = "LArOnlineID_Base::channel_Id_checks(febId) result is not OK: ID, range = "
597 + std::string(expId) + " , " + (std::string)m_full_laronline_range;
598 LArOnlID_Exception except(errorMessage , 99);
599 throw except ;
600 }
601}
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
MultiRange m_full_laronline_range
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded HWIdentifier from HWIdentifier (return == 0 for OK)
IdContext febContext() const
Define context for feb.

◆ channel_Id_checks() [2/3]

void LArOnlineID_Base::channel_Id_checks ( const HWIdentifier feedthroughId,
int slot,
int channel ) const
protected

Definition at line 604 of file LArOnlineID_Base.cxx.

607{
608 // Check that id is within allowed range
609 // Fill expanded id
610 ExpandedIdentifier expId;
611 IdContext context = feedthroughContext();
612 if (get_expanded_id(feedthroughId, expId, &context)) {
613 std::string errorMessage = "LArOnlineID_Base::channel_Id_checks(feedthroughId) result is not OK: ID = "
614 + show_to_string(feedthroughId) ;
615 LArOnlID_Exception except(errorMessage , 99);
616 throw except ;
617 }
618
619 expId << slot << channel;
620 if ( m_this_is_slar ) expId << 1;
621 if (!m_full_laronline_range.match(expId)) {
622 std::string errorMessage = "LArOnlineID_Base::channel_Id_checks(feedthroughId) result is not OK: ID, range = "
623 + std::string(expId) + " , " + (std::string)m_full_laronline_range;
624 LArOnlID_Exception except(errorMessage , 99);
625 throw except ;
626 }
627}
IdContext feedthroughContext() const
Define context for feedthroughs.

◆ channel_Id_checks() [3/3]

void LArOnlineID_Base::channel_Id_checks ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot,
int channel ) const
protected

Definition at line 559 of file LArOnlineID_Base.cxx.

562{
563 // Check that id is within allowed range
564 // Fill expanded id
565 ExpandedIdentifier expId(lar_exp());
567 if ( m_this_is_slar ) expId << 1;
568
569 if (!m_full_laronline_range.match(expId)) {
570 std::string errorMessage = "LArOnlineID_Base::channel_Id_checks() result is not OK: ID, range = "
571 + std::string(expId) + " , " + (std::string)m_full_laronline_range;
572 LArOnlID_Exception except(errorMessage , 99);
573 throw except ;
574 }
575}
ExpandedIdentifier lar_exp(void) const

◆ channel_name()

std::string LArOnlineID_Base::channel_name ( const HWIdentifier id) const

Return a string corresponding to a feedthrough name given an identifier.

Definition at line 223 of file LArOnlineID_Base.cxx.

223 {
224//==================================================================
225 return std::format("{}/{}-SIDE/FT-{}/SLOT-{}/CHAN-{}",
226 barrel_ec(id)==0 ? "BARREL" : "ENDCAP", pos_neg(id)==1 ? "A" : "C",feedthrough(id),slot(id),channel(id));
227}

◆ channel_range()

LArOnlineID_Base::id_range LArOnlineID_Base::channel_range ( ) const

Definition at line 1625 of file LArOnlineID_Base.cxx.

1627{
1628 return {channel_begin(), channel_end()};
1629}
id_iterator channel_end() const
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.

◆ channelContext()

IdContext LArOnlineID_Base::channelContext ( ) const

Define context for channel.

Definition at line 253 of file LArOnlineID_Base.cxx.

255{
256 ExpandedIdentifier id;
257 return (IdContext(id, 0, m_channel_in_slot_index));
258}

◆ channelHashMax()

LArOnlineID_Base::size_type LArOnlineID_Base::channelHashMax ( ) const

Define channel hash tables max size.

Definition at line 1590 of file LArOnlineID_Base.cxx.

1592{
1593 return m_channelHashMax;
1594}

◆ channelInSlotMax()

int LArOnlineID_Base::channelInSlotMax ( const HWIdentifier Id) const

Return the Maximum channel number of a given feb slot.

Definition at line 273 of file LArOnlineID_Base.cxx.

275{
276
277 ExpandedIdentifier expId;
278 IdContext context = channelContext();
279 if(!get_expanded_id(channelId, expId, &context)) {
280 int result = -999;
281 for (unsigned int i = 0; i < m_full_laronline_range.size(); ++i) {
282 const Range& range = m_full_laronline_range[i];
283 if (range.match(expId)) {
284 const Range::field& channel_in_slot_field = range[m_channel_in_slot_index];
285 if (!channel_in_slot_field.empty()) {
286 int channel_in_slotmax = channel_in_slot_field.get_maximum();
287 if (result < channel_in_slotmax) result = channel_in_slotmax + 1;
288 }
289 }
290 }
291 return (result);
292 }
293 return (-999); // default
294}
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
IdContext channelContext() const
Define context for channel.

◆ cryostatEndContext()

IdContext LArOnlineID_Base::cryostatEndContext ( ) const

Define context for cryostat (obsolete).

Definition at line 232 of file LArOnlineID_Base.cxx.

234{
235 ExpandedIdentifier id;
236 return (IdContext(id, 0, m_side_index));
237}

◆ 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);}

◆ 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

◆ 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.

◆ feb_begin()

LArOnlineID_Base::id_iterator LArOnlineID_Base::feb_begin ( ) const

Returns an iterator pointing to a feb identifier collection.

Definition at line 1599 of file LArOnlineID_Base.cxx.

1601{
1602 return(m_feb_vec.begin());
1603}
std::vector< HWIdentifier > m_feb_vec

◆ feb_end()

LArOnlineID_Base::id_iterator LArOnlineID_Base::feb_end ( ) const

Definition at line 1604 of file LArOnlineID_Base.cxx.

1606{
1607 return(m_feb_vec.end());
1608}

◆ feb_Hash()

IdentifierHash LArOnlineID_Base::feb_Hash ( HWIdentifier febId) const

Create feb hash identifiers from feb identifiers.

Definition at line 1210 of file LArOnlineID_Base.cxx.

1212{
1213 // Get the hash caculator for the febs
1214 const HashCalcFeb& hc = m_feb_hash_calcs[m_bec_ft_impl.unpack(febId)];
1215 // Two cases:
1216 // 1) slot values are enumerated and we must look for a matching
1217 // value to obtain the index
1218 // 2) slot values are a continuous range, then the slot index is
1219 // sufficient for the hash calculation
1220 if (!hc.m_slot_values.empty()) {
1221 // find matching value
1222 int slotValue = slot(febId);
1223 for (int i = 0; (unsigned int)i < hc.m_slot_values.size(); ++i) {
1224 if (slotValue == hc.m_slot_values[i]) return (hc.m_hash + i);
1225 }
1226 ATH_MSG_WARNING("LArOnlineID_Base::feb_Hash - ***** WARNING: could not match slot value for has calculation ");
1227 }
1228 size_type slotIndex = m_slot_impl.unpackToIndex(febId);
1229 return (hc.m_hash + slotIndex);
1230}
#define ATH_MSG_WARNING(x,...)
IdDictFieldImplementation m_bec_ft_impl
std::vector< HashCalcFeb > m_feb_hash_calcs
Identifier::size_type size_type

◆ feb_Hash_binary_search()

IdentifierHash LArOnlineID_Base::feb_Hash_binary_search ( HWIdentifier channelId) const
inlineprotected

Definition at line 543 of file LArOnlineID_Base.h.

545{
546 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_feb_vec.begin(),m_feb_vec.end(),febId);
547 if ( it != m_feb_vec.end() ){
548 return (it - m_feb_vec.begin());
549 }
550 return (0);
551}

◆ feb_Id() [1/5]

HWIdentifier LArOnlineID_Base::feb_Id ( const HWIdentifier channelId) const

Define a feb identifier from a channel identifier.

Definition at line 1196 of file LArOnlineID_Base.cxx.

1198{
1199 HWIdentifier result(channelId);
1200 m_channel_in_slot_impl.reset(result);
1201 return(result);
1202}

◆ feb_Id() [2/5]

HWIdentifier LArOnlineID_Base::feb_Id ( const HWIdentifier feedthroughId,
int slot ) const

Define a feb identifier from a feedthrough identifier.

Definition at line 1183 of file LArOnlineID_Base.cxx.

1185{
1186 HWIdentifier result(feedthroughId);
1187 /* Pack fields independently */
1188 m_slot_impl.reset (result);
1189 m_slot_impl.pack (slot , result);
1190 if ( m_this_is_slar )
1191 m_slar_impl.pack (1 , result);
1192
1193 return(result);
1194}

◆ feb_Id() [3/5]

HWIdentifier LArOnlineID_Base::feb_Id ( IdentifierHash febHash) const

create feb identifier from hash id

Definition at line 1204 of file LArOnlineID_Base.cxx.

1206{
1207 return(m_feb_vec[febHashId]);
1208}

◆ feb_Id() [4/5]

HWIdentifier LArOnlineID_Base::feb_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot ) const

Create feb_Id from fields.

Definition at line 1177 of file LArOnlineID_Base.cxx.

1179{
1181}
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.

◆ feb_Id() [5/5]

HWIdentifier LArOnlineID_Base::feb_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot,
bool checks ) const

Definition at line 1152 of file LArOnlineID_Base.cxx.

1156{
1157 HWIdentifier result(0);
1158
1159 /*Pack fields independently */
1160 m_lar_impl.pack (lar_field_value(), result);
1162 m_bec_impl.pack (barrel_ec , result);
1163 m_side_impl.pack (pos_neg , result);
1164 m_feedthrough_impl.pack(feedthrough , result);
1165 m_slot_impl.pack (slot , result);
1166 if ( m_this_is_slar )
1167 m_slar_impl.pack (1 , result);
1168
1169 /* Do checks */
1170 if(checks) {
1172 }
1173 return result;
1174}
void feb_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot) const

◆ feb_Id_checks()

void LArOnlineID_Base::feb_Id_checks ( int barrel_ec,
int pos_neg,
int feedthrough,
int slot ) const
protected

Definition at line 630 of file LArOnlineID_Base.cxx.

632{
633 // Check that id is within allowed range
634 // Fill expanded id
635 ExpandedIdentifier expId(lar_exp());
637
638 if ( m_this_is_slar ) expId << 0 << 1;
639 if (!m_full_feedthrough_range.match(expId)) { std::string errorMessage = "LArOnlineID_Base::feb_Id_checks() result is not OK: ID, range = "
640 + std::string(expId) + " , " + (std::string)m_full_feb_range;
641 LArOnlID_Exception except(errorMessage , 99);
642 throw except ;
643 }
644}
MultiRange m_full_feb_range
MultiRange m_full_feedthrough_range

◆ feb_range()

LArOnlineID_Base::id_range LArOnlineID_Base::feb_range ( ) const

Definition at line 1609 of file LArOnlineID_Base.cxx.

1611{
1612 return {feb_begin(), feb_end()};
1613}
id_iterator feb_begin() const
Returns an iterator pointing to a feb identifier collection.
id_iterator feb_end() const

◆ febContext()

IdContext LArOnlineID_Base::febContext ( ) const

Define context for feb.

Definition at line 263 of file LArOnlineID_Base.cxx.

265{
266 ExpandedIdentifier id;
267 return (IdContext(id, 0, m_slot_index));
268}

◆ febHashMax()

LArOnlineID_Base::size_type LArOnlineID_Base::febHashMax ( ) const

define feb hash tables max size

Definition at line 1585 of file LArOnlineID_Base.cxx.

1587{
1588 return m_febHashMax;
1589}

◆ feedthrough()

int LArOnlineID_Base::feedthrough ( const HWIdentifier id) const

Return the feedthrough of a hardware cell identifier :
feedthrough = [0,31] Barrel - A/C side or H/I half barrel
feedthrough = [1,25] Endcap-Standard EMEC 1.6<|eta|<2.4 - A/C side
feedthrough = [1,25] Endcap-Special EMEC 1.5<|eta|<1.6 and 2.4<|eta|<3.2
feedthrough = [1,25] HEC A/C side.

Definition at line 1637 of file LArOnlineID_Base.cxx.

1639{
1640 return (m_feedthrough_impl.unpack(id));
1641}

◆ feedthrough_begin()

LArOnlineID_Base::id_iterator LArOnlineID_Base::feedthrough_begin ( ) const

Return an iterator pointing to Feedthrough identifiers collection.

Definition at line 1129 of file LArOnlineID_Base.cxx.

1131{
1132 return(m_feedthrough_vec.begin());
1133}
std::vector< HWIdentifier > m_feedthrough_vec

◆ feedthrough_end()

LArOnlineID_Base::id_iterator LArOnlineID_Base::feedthrough_end ( ) const

Definition at line 1135 of file LArOnlineID_Base.cxx.

1137{
1138 return(m_feedthrough_vec.end());
1139}

◆ feedthrough_Hash()

IdentifierHash LArOnlineID_Base::feedthrough_Hash ( HWIdentifier feedthroughId) const

Create hash id from feedthrough identifiers.

Definition at line 1110 of file LArOnlineID_Base.cxx.

1112{
1113 std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_feedthrough_vec.begin(),m_feedthrough_vec.end(),feedthroughId);
1114 if ( it != m_feedthrough_vec.end() ){
1115 return (it - m_feedthrough_vec.begin());
1116 }
1117 return (0);
1118}

◆ feedthrough_Id() [1/4]

HWIdentifier LArOnlineID_Base::feedthrough_Id ( const HWIdentifier Id) const

Define a channel identifier from a feedthrough identifier.

Definition at line 1120 of file LArOnlineID_Base.cxx.

1122{
1123 HWIdentifier result(Id);
1124 m_slot_impl.reset(result);
1125 m_channel_in_slot_impl.reset(result);
1126 return(result);
1127}

◆ feedthrough_Id() [2/4]

HWIdentifier LArOnlineID_Base::feedthrough_Id ( IdentifierHash feedthroughHash) const

Create a feedthrough identifier from hash_id.

Definition at line 1104 of file LArOnlineID_Base.cxx.

1106{
1107 return(m_feedthrough_vec[feedthroughHashId]);
1108}

◆ feedthrough_Id() [3/4]

HWIdentifier LArOnlineID_Base::feedthrough_Id ( int barrel_ec,
int pos_neg,
int feedthrough ) const

Create a feedthrough identifier from fields.

Definition at line 1098 of file LArOnlineID_Base.cxx.

1099{
1101}
HWIdentifier feedthrough_Id(int barrel_ec, int pos_neg, int feedthrough) const
Create a feedthrough identifier from fields.

◆ feedthrough_Id() [4/4]

HWIdentifier LArOnlineID_Base::feedthrough_Id ( int barrel_ec,
int pos_neg,
int feedthrough,
bool checks ) const

Definition at line 1076 of file LArOnlineID_Base.cxx.

1078{
1079 HWIdentifier result(0);
1080
1081 /*Pack fields independently */
1082 m_lar_impl.pack (lar_field_value(), result);
1084 m_bec_impl.pack (barrel_ec , result);
1085 m_side_impl.pack (pos_neg , result);
1086 m_feedthrough_impl.pack(feedthrough , result);
1087 if ( m_this_is_slar )
1088 m_slar_impl.pack (1 , result);
1089
1090 /* Do checks */
1091 if(checks)
1092 {
1094 }
1095 return result;
1096}
void feedthrough_Id_checks(int barrel_ec, int pos_neg, int feedthrough) const

◆ feedthrough_Id_checks()

void LArOnlineID_Base::feedthrough_Id_checks ( int barrel_ec,
int pos_neg,
int feedthrough ) const
protected

Definition at line 647 of file LArOnlineID_Base.cxx.

649{
650 // Check that id is within allowed range
651 // Fill expanded id
652 ExpandedIdentifier expId(lar_exp());
654
655// if ( m_this_is_slar ) expId << 0 << 0 << 1;
656 if (!m_full_feedthrough_range.match(expId)) { std::string errorMessage = "LArOnlineID_Base::feedthrough_Id_checks() result is not OK: ID, range = "
657 + std::string(expId) + " , " + (std::string)m_full_feedthrough_range;
658 LArOnlID_Exception except(errorMessage , 99);
659 throw except ;
660 }
661}

◆ feedthrough_name()

std::string LArOnlineID_Base::feedthrough_name ( const HWIdentifier id) const

Return a string corresponding to a feedthrough name given an identifier.

Definition at line 77 of file LArOnlineID_Base.cxx.

77 {
78//==================================================================
79 std::string result;
80 int ft = feedthrough(id);
81 if( barrel_ec(id)== 0 ){
82 // if BARREL
83 if( pos_neg(id) == 1 ){
84 // if EMBA
85 if( ft==31 ){result = "I01R";}
86 if( ft==0 ){result = "I01L";}
87 if( ft==1 ){result = "I02R";}
88 if( ft==2 ){result = "I02L";}
89 if( ft==3 ){result = "I03R";}
90 if( ft==4 ){result = "I03L";}
91 if( ft==5 ){result = "I04R";}
92 if( ft==6 ){result = "I04L";}
93 if( ft==7 ){result = "I05R";}
94 if( ft==8 ){result = "I05L";}
95 if( ft==9 ){result = "I06R";}
96 if( ft==10 ){result = "I06L";}
97 if( ft==11 ){result = "I07R";}
98 if( ft==12 ){result = "I07L";}
99 if( ft==13 ){result = "I08R";}
100 if( ft==14 ){result = "I08L";}
101 if( ft==15 ){result = "I09R";}
102 if( ft==16 ){result = "I09L";}
103 if( ft==17 ){result = "I10R";}
104 if( ft==18 ){result = "I10L";}
105 if( ft==19 ){result = "I11R";}
106 if( ft==20 ){result = "I11L";}
107 if( ft==21 ){result = "I12R";}
108 if( ft==22 ){result = "I12L";}
109 if( ft==23 ){result = "I13R";}
110 if( ft==24 ){result = "I13L";}
111 if( ft==25 ){result = "I14R";}
112 if( ft==26 ){result = "I14L";}
113 if( ft==27 ){result = "I15R";}
114 if( ft==28 ){result = "I15L";}
115 if( ft==29 ){result = "I16R";}
116 if( ft==30 ){result = "I16L";}
117 }
118 else{
119 // EMBC
120 if( ft==15 ){result = "H01R";}
121 if( ft==16 ){result = "H01L";}
122 if( ft==13 ){result = "H02R";}
123 if( ft==14 ){result = "H02L";}
124 if( ft==11 ){result = "H03R";}
125 if( ft==12 ){result = "H03L";}
126 if( ft==9 ){result = "H04R";}
127 if( ft==10){result = "H04L";}
128 if( ft==7 ){result = "H05R";}
129 if( ft==8 ){result = "H05L";}
130 if( ft==5 ){result = "H06R";}
131 if( ft==6 ){result = "H06L";}
132 if( ft==3 ){result = "H07R";}
133 if( ft==4 ){result = "H07L";}
134 if( ft==1 ){result = "H08R";}
135 if( ft==2 ){result = "H08L";}
136 if( ft==31){result = "H09R";}
137 if( ft==0 ){result = "H09L";}
138 if( ft==29 ){result = "H10R";}
139 if( ft==30 ){result = "H10L";}
140 if( ft==27 ){result = "H11R";}
141 if( ft==28 ){result = "H11L";}
142 if( ft==25 ){result = "H12R";}
143 if( ft==26 ){result = "H12L";}
144 if( ft==23 ){result = "H13R";}
145 if( ft==24 ){result = "H13L";}
146 if( ft==21 ){result = "H14R";}
147 if( ft==22 ){result = "H14L";}
148 if( ft==19 ){result = "H15R";}
149 if( ft==20 ){result = "H15L";}
150 if( ft==17 ){result = "H16R";}
151 if( ft==18 ){result = "H16L";}
152 }
153 }
154 if ( barrel_ec(id) == 1 ){
155 // ENDCAP
156 if( pos_neg(id) == 1 ){
157 // EMEC-A
158 if( ft==0 ){result = "A01R";}
159 if( ft==1 ){result = "A01L";}
160 if( ft==2 ){result = "A02R";}
161 if( ft==3 ){result = "A02L";}
162 if( ft==4 ){result = "A03R";}
163 if( ft==5 ){result = "A03L";}
164 if( ft==6 ){result = "A04R";}
165 if( ft==7 ){result = "A05R";}
166 if( ft==8 ){result = "A05L";}
167 if( ft==9 ){result = "A06R";}
168 if( ft==10){result = "A06L";}
169 if( ft==11){result = "A07R";}
170 if( ft==12){result = "A07L";}
171 if( ft==13){result = "A08R";}
172 if( ft==14){result = "A08L";}
173 if( ft==15){result = "A09R";}
174 if( ft==16){result = "A09L";}
175 if( ft==17){result = "A10R";}
176 if( ft==18){result = "A10L";}
177 if( ft==19){result = "A11R";}
178 if( ft==20){result = "A11L";}
179 if( ft==21){result = "A12R";}
180 if( ft==22){result = "A12L";}
181 if( ft==23){result = "A13R";}
182 if( ft==24){result = "A13L";}
183 if( ft==25){result = "A14R";} // ft25-27 are sFCal; A14R, A14L, A15L
184 if( ft==26){result = "A14L";} // will need to be replaced by actual
185 if( ft==27){result = "A15L";} // crate name once it exists
186 }
187 else{
188 // EMEC-C
189 if( ft==11 ){result = "C01R";}
190 if( ft==12 ){result = "C01L";}
191 if( ft==9 ){result = "C02R";}
192 if( ft==10 ){result = "C02L";}
193 if( ft==7 ){result = "C03R";}
194 if( ft==8 ){result = "C03L";}
195 if( ft==4 ){result = "C05R";}
196 if( ft==5 ){result = "C05L";}
197 if( ft==2 ){result = "C06R";}
198 if( ft==3 ){result = "C06L";}
199 if( ft==0 ){result = "C07R";}
200 if( ft==1 ){result = "C07L";}
201 if( ft==23 ){result = "C08R";}
202 if( ft==24 ){result = "C08L";}
203 if( ft==21 ){result = "C09R";}
204 if( ft==22 ){result = "C09L";}
205 if( ft==19 ){result = "C10R";}
206 if( ft==20 ){result = "C10L";}
207 if( ft==17 ){result = "C11R";}
208 if( ft==18 ){result = "C11L";}
209 if( ft==15 ){result = "C12R";}
210 if( ft==16 ){result = "C12L";}
211 if( ft==13 ){result = "C13R";}
212 if( ft==14 ){result = "C13L";}
213 if( ft==6 ){result = "C04L";}
214 if( ft==25 ){result = "C14R";} // ft25-27 are sFCal; C14R, C14L, C15L
215 if( ft==26 ){result = "C14L";} // will need to be replaced by actual
216 if( ft==27 ){result = "C15L";} // crate name once it exists
217 }
218 }
219 return result;
220}

◆ feedthrough_range()

LArOnlineID_Base::id_range LArOnlineID_Base::feedthrough_range ( ) const

Definition at line 1141 of file LArOnlineID_Base.cxx.

1143{
1144 return {feedthrough_begin(), feedthrough_end()};
1145}
id_iterator feedthrough_begin() const
Return an iterator pointing to Feedthrough identifiers collection.
id_iterator feedthrough_end() const

◆ feedthroughContext()

IdContext LArOnlineID_Base::feedthroughContext ( ) const

Define context for feedthroughs.

Definition at line 242 of file LArOnlineID_Base.cxx.

244{
245 ExpandedIdentifier id;
246 return (IdContext(id, 0, m_feedthrough_index));
247}

◆ feedthroughHashMax()

LArOnlineID_Base::size_type LArOnlineID_Base::feedthroughHashMax ( ) const

Define feedthrough hash tables max size.

Definition at line 1580 of file LArOnlineID_Base.cxx.

1582{
1583 return m_feedthroughHashMax;
1584}

◆ 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.

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

int LArOnlineID_Base::get_expanded_calib_id ( const HWIdentifier & id,
ExpandedIdentifier & exp_id,
const IdContext * context ) const
protected

Definition at line 693 of file LArOnlineID_Base.cxx.

696{
697 // We assume that the context is >= feedthrough
698 exp_id.clear();
699 exp_id << lar_field_value()
701 << barrel_ec(id)
702 << pos_neg(id)
703 << feedthrough(id);
704 if(context && context->end_index() >= m_slot_index) {
705 exp_id << slot(id);
706 if(context->end_index() >= m_channel_in_slot_index) {
707 exp_id << channel(id);
708 if(context->end_index() >= m_slar_index) {
709 exp_id << is_slar(id);
710 }
711 }
712 }
713 return (0);
714}
static const int s_lar_onlineCalib_field_value
void clear()
Erase all fields.

◆ get_expanded_id()

int LArOnlineID_Base::get_expanded_id ( const HWIdentifier & id,
ExpandedIdentifier & exp_id,
const IdContext * context ) const
protected

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

Definition at line 666 of file LArOnlineID_Base.cxx.

669{
670 // We assume that the context is >= feedthrough
671 exp_id.clear();
672 exp_id << lar_field_value()
674 << barrel_ec(id)
675 << pos_neg(id);
676 if(context && context->end_index() >= m_feedthrough_index) {
677 exp_id << feedthrough(id);
678 if(context && context->end_index() >= m_slot_index) {
679 exp_id << slot(id);
680 if(context->end_index() >= m_channel_in_slot_index) {
681 exp_id << channel(id);
682 if(context->end_index() >= m_slar_index) {
683 exp_id << is_slar(id);
684 }
685 }
686 }
687 }
688 return (0);
689}

◆ get_hash()

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

Create hash id from compact id (return == 0 for OK).

Implements IdHelper.

Reimplemented in CaloIDHelper, CaloLVL1_ID, HGTD_ID, JGTowerBase_ID, MuonIdHelper, PixelID, SCT_ID, SiliconID, Tile_Base_ID, TileHWID, TileTBID, and TRT_ID.

Definition at line 144 of file AtlasDetectorID.cxx.

146 {
147 return 0;
148}

◆ get_id()

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

Create compact id from hash id (return == 0 for OK).

Implements IdHelper.

Reimplemented in CaloIDHelper, CaloLVL1_ID, HGTD_ID, JGTowerBase_ID, MuonIdHelper, PixelID, SCT_ID, SiliconID, Tile_Base_ID, TileHWID, TileTBID, and TRT_ID.

Definition at line 138 of file AtlasDetectorID.cxx.

140 {
141 return 0;
142}

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

int LArOnlineID_Base::init_calib_hashes ( )
protected

Definition at line 1670 of file LArOnlineID_Base.cxx.

1672{
1673 unsigned int nids=0;
1674 std::set<HWIdentifier> ids;
1675 for (unsigned int i = 0; i < m_full_calib_laronline_range.size(); ++i) {
1676 const Range& range = m_full_calib_laronline_range[i];
1677 ConstRangeIterator rit(range);
1678 for (const auto & exp_id : rit) {
1679 HWIdentifier id = this->calib_channel_Id(exp_id[m_bec_index],
1680 exp_id[m_side_index],
1681 exp_id[m_feedthrough_index],
1682 exp_id[m_slot_index],
1683 exp_id[m_channel_in_slot_index]);
1684 if(!(ids.insert(id)).second) {
1685 ATH_MSG_WARNING("LArOnlineID_Base::init_calib_Hashes: Error: duplicated id for channel id. nids= "
1686 + std::to_string(nids) + " compact Id " + std::string(exp_id) + " " + show_to_string(id));
1687 }
1688 nids++;
1689 }
1690 }
1691 unsigned int nidtb=0;
1692 std::set<HWIdentifier>::const_iterator first = ids.begin();
1693 std::set<HWIdentifier>::const_iterator last = ids.end();
1694 for (;first != last && nidtb < nids; ++first) {
1695 m_calib_channel_vec.push_back(*first);
1696 nidtb++;
1697 }
1699
1700 /* FEB hash */
1701 /*==========*/
1702 nids = 0;
1703 ids.clear();
1704 for (unsigned int i = 0; i < m_full_calib_module_range.size(); ++i) {
1705 const Range& range = m_full_calib_module_range[i];
1706 ConstRangeIterator rit(range);
1707 for (const auto & exp_id : rit) {
1708 HWIdentifier febId = calib_module_Id( exp_id[m_bec_index],
1709 exp_id[m_side_index],
1710 exp_id[m_feedthrough_index],
1711 exp_id[m_slot_index] );
1712 if(!(ids.insert(febId)).second){
1713 ATH_MSG_WARNING("LArOnlineID_Base::init_calibhashes: Warning: duplicated id for feb id. nids= "
1714 + std::to_string(nids) + " compact Id " + std::string(exp_id) + " " + show_to_string(febId));
1715 }
1716 nids++;
1717 }
1718 }
1719 nidtb=0;
1720 first = ids.begin();
1721 last = ids.end();
1722 for (;first != last && nidtb < nids; ++first)
1723 {
1724 m_calib_module_vec.push_back(*first);
1725 nidtb++;
1726 }
1728 return (0);
1729}
HWIdentifier calib_channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create calibration channel identifiers from fields
MultiRange m_full_calib_laronline_range
HWIdentifier calib_module_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Build calibration module identifier from fields.
MultiRange m_full_calib_module_range
bool first
Definition DeMoScan.py:534

◆ init_hashes()

int LArOnlineID_Base::init_hashes ( )
protected

Definition at line 904 of file LArOnlineID_Base.cxx.

906{
907 /* channel hash */
910 unsigned int nids = 0;
911 std::set<HWIdentifier> ids;
912 for (unsigned int i = 0; i < m_full_laronline_range.size(); ++i)
913 {
914 const Range& range = m_full_laronline_range[i];
915 ConstRangeIterator rit(range);
916 for (const auto & exp_id : rit)
917 {
918 HWIdentifier id = this->channel_Id (exp_id[m_bec_index],
919 exp_id[m_side_index],
920 exp_id[m_feedthrough_index],
921 exp_id[m_slot_index],
923 if(!(ids.insert(id)).second)
924 {
925 ATH_MSG_ERROR("init_hashes: duplicated id for channel nb = " + std::to_string(nids));
926 ATH_MSG_ERROR("expanded Id= " + show_to_string(id));
927 }
928 nids++;
929 }
930 }
931 if(ids.size() != m_channelHashMax)
932 {
933 ATH_MSG_ERROR("init_hashes: set size NOT EQUAL to hash max. size " + std::to_string(ids.size()));
934 ATH_MSG_ERROR("hash max " + std::to_string(m_channelHashMax));
935 return (1);
936 }
937 nids=0;
938 std::set<HWIdentifier>::const_iterator first = ids.begin();
939 std::set<HWIdentifier>::const_iterator last = ids.end();
940 for (;first != last && nids < m_channel_vec.size(); ++first)
941 {
942 m_channel_vec[nids] = (*first) ;
943 nids++;
944 }
945
946 /* feedthrough hash */
949 nids = 0;
950 ids.clear();
951 for (unsigned int i = 0; i < m_full_feedthrough_range.size(); ++i)
952 {
953 const Range& range = m_full_feedthrough_range[i];
954 ConstRangeIterator rit(range);
955 for (const auto & exp_id: rit) {
956 HWIdentifier feedthroughId = feedthrough_Id( exp_id[m_bec_index],
957 exp_id[m_side_index],
958 exp_id[m_feedthrough_index] );
959 if(!(ids.insert(feedthroughId)).second){
960 ATH_MSG_ERROR("init_hashes: duplicated id for feedthrough nb = " + std::to_string(nids));
961 ATH_MSG_ERROR("expanded Id= " + show_to_string(feedthroughId));
962 }
963 nids++;
964 }
965 }
966 if(ids.size() != m_feedthroughHashMax)
967 {
968 ATH_MSG_ERROR("init_hashes: set size NOT EQUAL to feedthrough hash max. size " + std::to_string(ids.size()));
969 ATH_MSG_ERROR("hash max= " + std::to_string(m_feedthroughHashMax));
970 return (1);
971 }
972 nids=0;
973 first = ids.begin();
974 last = ids.end();
975 for (;first != last && nids < m_feedthrough_vec.size(); ++first)
976 {
977 m_feedthrough_vec[nids] = (*first) ;
978 nids++;
979 }
980
981 /* FEB hash */
982 /*==========*/
983 m_febHashMax = m_full_feb_range.cardinality();
984 m_feb_vec.resize(m_febHashMax);
985 nids = 0;
986 ids.clear();
987 for (unsigned int i = 0; i < m_full_feb_range.size(); ++i)
988 {
989 const Range& range = m_full_feb_range[i];
990 ConstRangeIterator rit(range);
991 for (const auto & exp_id :rit)
992 {
993 HWIdentifier febId = feb_Id( exp_id[m_bec_index],
994 exp_id[m_side_index],
995 exp_id[m_feedthrough_index],
996 exp_id[m_slot_index] );
997 if(!(ids.insert(febId)).second)
998 {
999 ATH_MSG_ERROR("init_hashes: duplicated id for FEB nb = " + std::to_string(nids));
1000 ATH_MSG_ERROR("expanded Id= " + show_to_string(febId));
1001 }
1002 nids++;
1003 }
1004 }
1005 if(ids.size() != m_febHashMax)
1006 {
1007 ATH_MSG_ERROR("init_hashes: set size NOT EQUAL to FEB hash max. size " + std::to_string(ids.size()));
1008 ATH_MSG_ERROR("hash max " + std::to_string(m_febHashMax));
1009 return (1);
1010 }
1011 nids=0;
1012 first = ids.begin();
1013 last = ids.end();
1014 for (;first != last && nids < m_feb_vec.size(); ++first)
1015 {
1016 m_feb_vec[nids] = (*first) ;
1017 nids++;
1018 }
1019
1020
1021 return (0);
1022}
#define ATH_MSG_ERROR(x,...)

◆ initialize_from_dictionary()

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

initialization from the identifier dictionary

Reimplemented from AtlasDetectorID.

Reimplemented in LArOnline_SuperCellID, and LArOnlineID.

Definition at line 301 of file LArOnlineID_Base.cxx.

303{
304 ATH_MSG_INFO("initialize_from_dictionary");
305
306 // Check whether this helper should be reinitialized
307 if (!reinitialize(dict_mgr)) {
308 ATH_MSG_DEBUG("Request to reinitialize not satisfied - tags have not changed");
309 return (0);
310 }
311 else {
312 ATH_MSG_DEBUG("(Re)initialize");
313 }
314
315 // init base object
316 if(AtlasDetectorID::initialize_from_dictionary(dict_mgr)) return (1);
317 m_dict = dict_mgr.find_dictionary ("LArCalorimeter");
318 if(!m_dict) {
319 ATH_MSG_ERROR("initialize_from_dictionary - cannot access LArCalorimeter dictionary");
320 return 1;
321 }
322
323 // Register version of the dictionary used
324 if (register_dict_tag(dict_mgr, "LArCalorimeter")) return(1);
325
326 // initialize dictionary version
327 AtlasDetectorID::setDictVersion(dict_mgr, "LArCalorimeter");
328
329 /* Initialize the field indices */
330// if(initLevelsFromDict()) return (1);
331 if(initLevelsFromDict(group())) return (1);
332
333
334 /* Find value for the field LAr Calorimeter */
335 const IdDictDictionary* atlasDict = dict_mgr.find_dictionary ("ATLAS");
336 int larField = -1;
337 if (atlasDict->get_label_value("subdet", "LArCalorimeter", larField)) {
338 ATH_MSG_ERROR("Could not get value for label 'LArCalorimeter' of field 'subdet' in dictionary "
339 << atlasDict->name());
340 return (1);
341 }
342
343 /* Find value for the field LArOnline */
344 int larOnlineField = -4;
345 if (m_dict->get_label_value("part", "LArOnline", larOnlineField)) {
346 ATH_MSG_ERROR("Could not get value for label 'LArOnline' of field 'part' in dictionary "
347 << m_dict->name());
348 return (1);
349 }
350
351 /* Find value for the field calibLArOnline */
352 int larOnlineCalibField = -5;
353 if (m_dict->get_label_value("part", "LArOnlineCalib", larOnlineCalibField)) {
354 ATH_MSG_ERROR("Could not get value for label 'LArOnlineCalib' of field 'part' in dictionary "
355 << m_dict->name());
356 return (1);
357 }
358
359 /* Set up id for Region and range prefix */
360 ExpandedIdentifier region_id;
361 region_id.add(larField);
362 region_id.add(larOnlineField);
363 Range prefix;
364 /* Calib Multirange */
365 ExpandedIdentifier region_id2;
366 region_id2.add(larField);
367 region_id2.add(larOnlineCalibField);
368 Range prefix2;
369
370 /*Full range for all channels*/
371 m_full_laronline_range = m_dict->build_multirange( region_id , group(), prefix);
372 m_full_feb_range = m_dict->build_multirange( region_id , group(), prefix, "slot");
373 m_full_feedthrough_range = m_dict->build_multirange( region_id , group(), prefix, "feedthrough");
374
375 ATH_MSG_DEBUG("initialize_from_dictionary :");
376 ATH_MSG_DEBUG("feedthrough range -> " << (std::string)m_full_feedthrough_range);
377 ATH_MSG_DEBUG("feedthrough slot range -> " << (std::string)m_full_feb_range);
378 ATH_MSG_DEBUG("channel range -> " << (std::string)m_full_laronline_range);
379
380 /* calib */
381 /* Full range for calib channels */
382 m_full_calib_laronline_range = m_dict->build_multirange( region_id2 , group(), prefix2);
383 m_full_calib_module_range = m_dict->build_multirange( region_id2 , group(), prefix2, "slot");
384
385 ATH_MSG_DEBUG("=> initialize_from_dictionary : ");
386 ATH_MSG_DEBUG("=> Calib module range -> " << (std::string)m_full_calib_module_range);
387 ATH_MSG_DEBUG("=> Calib channel range -> " << (std::string)m_full_calib_laronline_range);
388
389 /* Setup the hash tables */
390 ATH_MSG_DEBUG("[initialize_from_dictionary] version= " << dictionaryVersion());
391 if( dictionaryVersion() == "fullAtlas" ) {
392 if(init_hashes()) return (1);
393 }
394
395 // Setup for hash calculation for channels (febs is further below)
396
397 // Febs have a uniform number of channels
398 // The lookup table only needs to contain the
399 // hash offset for each feb
400
401 // The implementation requires:
402
403 // 1) a lookup table for each feb containing hash offset
404 // 2) a decoder to access the "index" corresponding to the
405 // bec/side/ft/slot fields. These fields use x bits, so the
406 // vector has a length of 2**x.
407
408 /* Create decoder for fields bec to slot */
410 m_bec_impl.bits() +
411 m_side_impl.bits() +
412 m_feedthrough_impl.bits() +
413 m_slot_impl.bits();
414 IdDictFieldImplementation::size_type bits_offset = m_bec_impl.bits_offset();
415 m_bec_slot_impl.set_bits(bits, bits_offset);
416 int size = (1 << bits);
417
418 // Set up vector as lookup table for hash calculation.
419 m_chan_hash_calcs.resize(size);
420
421 for (unsigned int i = 0; i < m_febHashMax; ++i) {
422
423 HWIdentifier febId = feb_Id(i) ;
424
425 HashCalc hc;
426
427 HWIdentifier min = channel_Id ( febId, 0);
428
429 IdentifierHash min_hash = channel_Hash_binary_search(min);
430 hc.m_hash = min_hash;
432
433 if (m_bec_slot_impl.unpack(min) >= size) {
434 ATH_MSG_DEBUG("Min > " << size);
436 ATH_MSG_DEBUG(" " << std::to_string(m_bec_slot_impl.unpack(min)));
437 }
438 }
439
440 // Check channel hash calculation
441 for (unsigned int i = 0; i < m_channelHashMax; ++i) {
442 HWIdentifier id = channel_Id(i);
443 if (channel_Hash(id) != i) {
444 ATH_MSG_ERROR(" ***** Error channel ranges, id, hash, i = " << show_to_string(id));
445 ATH_MSG_ERROR(" , " << std::to_string(channel_Hash(id)));
446 ATH_MSG_ERROR(" , " << i);
447 }
448 }
449
450
451
452 // Setup for hash calculation for febs
453
454 // We calculate the feb hash by saving the hash of each
455 // feedthrough in a HashCalc object and then adding on the slot
456 // number for a particular feb
457
458 // The implementation requires:
459
460 // 1) a lookup table for each ft containing hash offset
461 // 2) a decoder to access the "index" corresponding to the
462 // bec/side/ft fields. These fields use x bits, so the
463 // vector has a length of 2**x.
464
465 /* Create decoder for fields bec to ft */
466 bits = m_bec_impl.bits() +
467 m_side_impl.bits() +
468 m_feedthrough_impl.bits();
469 bits_offset = m_bec_impl.bits_offset();
470 m_bec_ft_impl.set_bits(bits, bits_offset);
471 size = (1 << bits);
472
473 // Set up vector as lookup table for hash calculation.
474 m_feb_hash_calcs.resize(size);
475
476 // Get context for conversion to expanded ids
477 IdContext ftContext = feedthroughContext();
478 ExpandedIdentifier ftExpId;
479
480 for (unsigned int i = 0; i < m_feedthroughHashMax; ++i) {
481
482 HWIdentifier min = feedthrough_Id(i) ;
483
484 HashCalcFeb hc;
485
486 // Set the hash id for each feedthrough, and then check if one
487 // needs to also save the slot values
488 IdentifierHash min_hash = feb_Hash_binary_search(min);
489 hc.m_hash = min_hash;
490
491 // For each feedthrough we must check to see if the slot
492 // values are enumerated or not. If they are enumerate we must
493 // save the values in order to calculate the fed hash
494 if (get_expanded_id(min, ftExpId, &ftContext)) {
495 ATH_MSG_WARNING(" ***** Warning cannot get ft expanded id for " + show_to_string(min));
496 }
497 unsigned int nrangesFound = 0;
498 for (unsigned int i = 0; i < m_full_feb_range.size(); ++i) {
499 if (m_full_feb_range[i].match(ftExpId)) {
500 nrangesFound += 1;
501 const Range::field& slotField = m_full_feb_range[i][m_slot_index];
502 if (slotField.isEnumerated()) {
503 // save values
504 hc.m_slot_values = slotField.get_values();
505 }
506 }
507 }
508
509 // Similarly, if there is more than one range per feedthrough,
510 // this means that slot values are not a continuous range. In
511 // this case, as well, we save all possible slot values
512 if (nrangesFound > 1) {
513 for (unsigned int i = 0; i < m_full_feb_range.size(); ++i) {
514 if (m_full_feb_range[i].match(ftExpId)) {
515 const Range::field& slotField = m_full_feb_range[i][m_slot_index];
516 if (slotField.isBounded()) {
517 // save values
518 unsigned int nvalues = slotField.get_maximum() - slotField.get_minimum() + 1;
519 hc.m_slot_values.reserve(std::max(hc.m_slot_values.size()*3/2, hc.m_slot_values.size() + nvalues));
520 for (unsigned int j = 0; j < nvalues; ++j) {
521 hc.m_slot_values.push_back(j + slotField.get_minimum());
522 }
523 }
524 else {
525 ATH_MSG_WARNING(" ***** Warning feb range slot field is NOT both_bounded - id, slot mode: " +
526 show_to_string(min) + " enumerated");
527 }
528 }
529 }
530 }
531
532
533 // Set hash calculator
534 m_feb_hash_calcs[m_bec_ft_impl.unpack(min)] = std::move(hc);
535
536
537 if (m_bec_ft_impl.unpack(min) >= size) {
538 ATH_MSG_DEBUG("Min > " << size << " " << show_to_string(min) <<
539 " " << m_bec_ft_impl.unpack(min) << " " <<
540 min_hash);
541 }
542 }
543
544 // Check feb hash calculation
545 for (unsigned int i = 0; i < m_febHashMax; ++i) {
546 HWIdentifier id = feb_Id(i);
547 if (feb_Hash(id) != i) {
548 ATH_MSG_ERROR(" ***** Error feb ranges, id, hash, i = " <<
549 show_to_string(id) << " , " << feb_Hash(id) << " , " << i);
550 }
551 }
552
553 return 0;
554}
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_INFO(x,...)
size_t size() const
Number of registered mappings.
#define min(a, b)
Definition cfImp.cxx:40
virtual std::string dictionaryVersion(void) const override
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
int register_dict_tag(const IdDictMgr &dict_mgr, const std::string &dict_name)
Register the file and tag names for a particular IdDict dictionary.
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.
element_type get_minimum() const
Query the values.
bool isEnumerated() const
const element_vector & get_values() const
bool isBounded() const
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
IdentifierHash channel_Hash_binary_search(HWIdentifier channelId) const
IdentifierHash feb_Hash_binary_search(HWIdentifier channelId) const
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
int initLevelsFromDict(const std::string &group_name)
bool match(std::string s1, std::string s2)
match the individual directories of two strings
Definition hcg.cxx:359
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)

◆ initLevelsFromDict()

int LArOnlineID_Base::initLevelsFromDict ( const std::string & group_name)
protected

Definition at line 719 of file LArOnlineID_Base.cxx.

721{
722
723 if(!m_dict)
724 {
725 ATH_MSG_ERROR("initLevelsFromDict - dictionary NOT initialized");
726 return (1);
727 }
728
729 /* Find out which identifier field corresponds to each level.*/
730
731 m_lar_index = 999 ;
732 m_laronline_index = 999 ;
733 m_bec_index = 999 ;
734 m_side_index = 999 ;
735 m_feedthrough_index = 999 ;
736 m_slot_index = 999 ;
738 m_slar_index = 999 ;
739
740 // Save index to a DictionaryRegion for unpacking
741 const IdDictRegion* reg = m_dict->find_region("laronline-barrel");
742 if (reg)
743 {
744 m_laronlineRegion_index = reg->index();
745 }
746 else
747 {
748 ATH_MSG_ERROR("initLevelsFromDict - unable to find laronline region ");
749 return (1);
750 }
751 /* Find LAr field */
752 const IdDictField* field = m_dict->find_field("subdet") ;
753 if (field)
754 {
755 m_lar_index = field->index();
756 }
757 else
758 {
759 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'subdet' field ");
760 return (1);
761 }
762
763 /* Find LArOnline field */
764 field = m_dict->find_field("part") ;
765 if (field)
766 {
767 m_laronline_index = field->index();
768 }
769 else
770 {
771 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'part' field ");
772 return (1);
773 }
774
775 /* Find barrel-endcap field */
776 field = m_dict->find_field("barrel-ec") ;
777 if (field)
778 {
779 m_bec_index = field->index();
780 }
781 else
782 {
783 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'barrel-endcap' field ");
784 return (1);
785 }
786
787 /* Find detector-side field */
788 field = m_dict->find_field("pos_neg") ;
789 if (field)
790 {
791 m_side_index = field->index();
792 }
793 else
794 {
795 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'barrel-endcap' field ");
796 return (1);
797 }
798
799 /* Find feedthrough field */
800 std::string feedthrough_name;
801 if ( m_this_is_slar ){
802 feedthrough_name+="slar_feedthrough";
803 } else {
804 feedthrough_name+="feedthrough";
805 }
806 field = m_dict->find_field(feedthrough_name) ;
807 if (field) {
808 m_feedthrough_index = field->index();
809 }
810 else
811 {
812 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'feedthrough' field ");
813 return (1);
814 }
815
816 /* Find slot field */
817 std::string slot_name;
818 if ( m_this_is_slar ){
819 slot_name+="slar_slot";
820 } else {
821 slot_name+="slot";
822 }
823 field = m_dict->find_field(slot_name) ;
824 if (field)
825 {
826 m_slot_index = field->index();
827 }
828 else
829 {
830 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'slot' field ");
831 return (1);
832 }
833
834 /* Find channel_in_slot field */
835 std::string channel_name;
836 if ( m_this_is_slar ){
837 channel_name+="sch_in_slot";
838 } else {
839 channel_name+="channel_in_slot";
840 }
841 field = m_dict->find_field(channel_name) ;
842 if (field)
843 {
845 }
846 else
847 {
848 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'channel_in_slot' field ");
849 return (1);
850 }
851
852 /* Find slar field */
853 if ( m_this_is_slar ) {
854 field = m_dict->find_field("is-slar") ;
855 if (field)
856 {
857 m_slar_index = field->index();
858 }
859 else
860 {
861 ATH_MSG_ERROR("initLevelsFromDict - unable to find 'slar' field ");
862 return (1);
863 }
864 } // end of m_this_is_slar
865
866 /* Set the field implementations */
867
868 const IdDictGroup* group = m_dict->find_group(group_name);
869 if ( !group ) {
870 ATH_MSG_ERROR("initLevelsFromDict - cannot find " << group_name);
871 } else {
872 m_laronlineRegion_index = group->region(0).index();
873 }
874
875 const IdDictRegion& region = m_dict->region(m_laronlineRegion_index);
876
884 if ( m_this_is_slar )
886
887 ATH_MSG_DEBUG("decode index and bit fields for each level:");
888 ATH_MSG_DEBUG("lar " << m_lar_impl);
889 ATH_MSG_DEBUG("online " << m_laronline_impl);
890 ATH_MSG_DEBUG("bec " << m_bec_impl);
891 ATH_MSG_DEBUG("side " << m_side_impl);
893 ATH_MSG_DEBUG("slot " << m_slot_impl);
895 if ( m_this_is_slar )
896 ATH_MSG_DEBUG("is-slar " << m_slar_impl);
897
898 return(0) ;
899}
const IdDictFieldImplementation & implementation(size_t i) const
std::string feedthrough_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.

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

int LArOnlineID_Base::is_slar ( const HWIdentifier id) const

Return whether the channel is in slar or not is_ slar = [0,1] in all FEB.

Definition at line 1662 of file LArOnlineID_Base.cxx.

1664{
1665 return (m_slar_impl.unpack(id));
1666}

◆ 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_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_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_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_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}

◆ isCalibration()

bool LArOnlineID_Base::isCalibration ( const HWIdentifier id) const

Definition at line 1476 of file LArOnlineID_Base.cxx.

1478{
1479 int bec= barrel_ec(id);
1480 int ft = feedthrough(id);
1481 int sl = slot(id);
1482 return ( (bec==0 && sl==15)
1483 ||
1484 ( bec==1 && sl==15 &&
1485 (ft==0 ||
1486 ft==1 ||
1487 ft==4 ||
1488 ft==5 ||
1489 ft==7 ||
1490 ft==8 ||
1491 ft==11 ||
1492 ft==12 ||
1493 ft==13 ||
1494 ft==14 ||
1495 ft==17 ||
1496 ft==18 ||
1497 ft==19 ||
1498 ft==20 ||
1499 ft==23 ||
1500 ft==24 )
1501 )
1502 ||
1503 ( barrel_ec(id)==1 &&
1504 (sl==3 || sl==4 || sl==12) &&
1505 (ft==3 ||
1506 ft==10 ||
1507 ft==16 ||
1508 ft==22 )
1509 )
1510 ||
1511 ( barrel_ec(id)==1 && sl==16 )
1512 ||
1513 ( barrel_ec(id)==1 && ft==27 && sl==11 )
1514 );
1515}

◆ isEmBarrelOnline()

bool LArOnlineID_Base::isEmBarrelOnline ( const HWIdentifier id) const

Definition at line 1409 of file LArOnlineID_Base.cxx.

1411{/* redefined to isEMBchannel() */
1412 return (isEMBchannel(id));
1413}
bool isEMBchannel(const HWIdentifier id) const

◆ isEMBchannel()

bool LArOnlineID_Base::isEMBchannel ( const HWIdentifier id) const
Returns
true if the Id belongs to a subsystem

Definition at line 1341 of file LArOnlineID_Base.cxx.

1343{
1344 return (barrel_ec(id)==0);
1345}

◆ isEMBPS()

bool LArOnlineID_Base::isEMBPS ( const HWIdentifier id) const

Definition at line 1354 of file LArOnlineID_Base.cxx.

1356{
1357 int bec= barrel_ec(id);
1358 int sl = slot(id);
1359 return (
1360 bec == 0 && sl == 1
1361 );
1362}

◆ isEMECchannel()

virtual bool LArOnlineID_Base::isEMECchannel ( const HWIdentifier id) const
pure virtual

Implemented in LArOnline_SuperCellID, and LArOnlineID.

◆ isEMECinHECchannel()

bool LArOnlineID_Base::isEMECinHECchannel ( const HWIdentifier id) const

Definition at line 1566 of file LArOnlineID_Base.cxx.

1568{/* re-definition with isEMECIW */
1569 return isEMECIW(id);
1570}
virtual bool isEMECIW(const HWIdentifier id) const =0

◆ isEMECIW()

virtual bool LArOnlineID_Base::isEMECIW ( const HWIdentifier id) const
pure virtual

Implemented in LArOnline_SuperCellID, and LArOnlineID.

◆ isEMECOW()

virtual bool LArOnlineID_Base::isEMECOW ( const HWIdentifier id) const
pure virtual

Implemented in LArOnline_SuperCellID, and LArOnlineID.

◆ isEMECPS()

bool LArOnlineID_Base::isEMECPS ( const HWIdentifier id) const

Definition at line 1364 of file LArOnlineID_Base.cxx.

1366{/* redefinition (bug fix) */
1367 return (isEMECOW(id) && slot(id)==1);
1368}
virtual bool isEMECOW(const HWIdentifier id) const =0

◆ isEmEndcapOnline()

bool LArOnlineID_Base::isEmEndcapOnline ( const HWIdentifier id) const

Definition at line 1426 of file LArOnlineID_Base.cxx.

1428{/* redefinition */
1429 return isEMECchannel(id);
1430}
virtual bool isEMECchannel(const HWIdentifier id) const =0

◆ isEmEndcapSpecialOnline()

bool LArOnlineID_Base::isEmEndcapSpecialOnline ( const HWIdentifier id) const

Definition at line 1464 of file LArOnlineID_Base.cxx.

1466{
1467 int ft = feedthrough(id);
1468 return ( barrel_ec(id)==1 &&
1469 (ft==2 ||
1470 ft==9 ||
1471 ft==15 ||
1472 ft==21 )
1473 );
1474}

◆ isEmEndcapStandardOnline()

bool LArOnlineID_Base::isEmEndcapStandardOnline ( const HWIdentifier id) const

Definition at line 1441 of file LArOnlineID_Base.cxx.

1443{
1444 int ft = feedthrough(id);
1445 return ( barrel_ec(id)==1 &&
1446 (ft==0 ||
1447 ft==1 ||
1448 ft==4 ||
1449 ft==5 ||
1450 ft==7 ||
1451 ft==8 ||
1452 ft==11 ||
1453 ft==12 ||
1454 ft==13 ||
1455 ft==14 ||
1456 ft==17 ||
1457 ft==18 ||
1458 ft==19 ||
1459 ft==20 ||
1460 ft==23 ||
1461 ft==24)
1462 );
1463}

◆ isEndcapOnline()

bool LArOnlineID_Base::isEndcapOnline ( const HWIdentifier id) const

Definition at line 1415 of file LArOnlineID_Base.cxx.

1417{
1418 return (barrel_ec(id)==1);
1419}

◆ isFCALchannel()

bool LArOnlineID_Base::isFCALchannel ( const HWIdentifier id) const

Definition at line 1346 of file LArOnlineID_Base.cxx.

1348{
1349 return ( barrel_ec(id)==1 && feedthrough(id) == 6 );
1350}

◆ isFcalOnline()

bool LArOnlineID_Base::isFcalOnline ( const HWIdentifier id) const

Definition at line 1421 of file LArOnlineID_Base.cxx.

1423{/* redefinition (was redundant with isFCALchannel) */
1424 return isFCALchannel(id);
1425}
bool isFCALchannel(const HWIdentifier id) const

◆ isHECchannel()

virtual bool LArOnlineID_Base::isHECchannel ( const HWIdentifier id) const
pure virtual

Implemented in LArOnline_SuperCellID, and LArOnlineID.

◆ isHecOnline()

bool LArOnlineID_Base::isHecOnline ( const HWIdentifier id) const

Definition at line 1526 of file LArOnlineID_Base.cxx.

1528{
1529 /* Must be used with CARE !
1530 * This method returns true for all slots/channel in HEC crates,
1531 * thus including the EMEC slot/channels that are present
1532 * in slot 1 and slot 2 of HEC crates !
1533 * To access specifically EMEC in HEC slot/channel, you then
1534 * have to use isEMECinHECchannel()
1535 */
1536 int ft = feedthrough(id);
1537 return (
1538 //(slot(id)!=1 && slot(id)!= 2) &&
1539 barrel_ec(id)==1 &&
1540 (ft==3 ||
1541 ft==10 ||
1542 ft==16 ||
1543 ft==22 )
1544 );
1545}

◆ isHecOnlineFebId()

bool LArOnlineID_Base::isHecOnlineFebId ( const HWIdentifier febId) const

Definition at line 1547 of file LArOnlineID_Base.cxx.

1549{
1550 /* Must be used with CARE !
1551 * This method returns true for all slots/channel in HEC crates,
1552 * thus including the EMEC slot/channels that are present
1553 * in slot 1 and slot 2 of HEC crates !
1554 * To access specifically EMEC in HEC slot/channel, you then
1555 * have to use isEMECinHECchannel()
1556 */
1557 int ft = feedthrough(febId);
1558 return ( barrel_ec(febId)==1 &&
1559 (ft==3 ||
1560 ft==10 ||
1561 ft==16 ||
1562 ft==22 )
1563 );
1564}

◆ isNotWarmCableConnected()

bool LArOnlineID_Base::isNotWarmCableConnected ( const HWIdentifier id) const

Definition at line 1377 of file LArOnlineID_Base.cxx.

1379{
1380 int ft = feedthrough(id);
1381 int sl = slot(id);
1382 int ch = channel(id);
1383 return (
1384 (
1385 isEMBchannel(id) &&
1386 ( (-1 < ft && ft < 32) &&
1387 ( sl == 14 ) &&
1388 ( 63 < ch && ch < 128 )
1389 )
1390 )
1391 ||
1392 (
1393 isEMECchannel(id) && sl == 1 &&
1394 (ft == 2 || ft == 9 || ft == 15 || ft == 21 ) &&
1395 (63 < ch && ch < 128)
1396 )
1397 );
1398}

◆ isPS()

bool LArOnlineID_Base::isPS ( const HWIdentifier id) const

Definition at line 1370 of file LArOnlineID_Base.cxx.

1372{/* redefinition with isEMBPS and isEMECPS */
1373 return ( isEMBPS(id) || isEMECPS(id));
1374}
bool isEMECPS(const HWIdentifier id) const
bool isEMBPS(const HWIdentifier id) const

◆ isValidId()

bool LArOnlineID_Base::isValidId ( const HWIdentifier id) const

Returns false if the identifier is not a LAr-online id or any of the sub-fields is out of range.


Definition at line 1027 of file LArOnlineID_Base.cxx.

1027 {
1028
1029
1030 const int larid=m_lar_impl.unpack(id);
1031 const int laronlineid=m_laronline_impl.unpack(id);
1032 if (larid!=lar_field_value()) return false;
1033
1034 if (laronlineid!=s_lar_online_field_value && laronlineid!=s_lar_onlineCalib_field_value) return false;
1035
1036 const int channel=m_channel_in_slot_impl.unpack(id);
1037 if (channel<0 || channel>128) return false;
1038
1039 const int bec=m_bec_impl.unpack(id);
1040 const int ft=m_feedthrough_impl.unpack(id);
1041 const int slot=m_slot_impl.unpack(id);
1042 if (slot<1) return false;
1043 if (ft<0) return false;
1044 if (bec==0) { // Barrel case
1045 if (ft>31) return false;
1046 if (slot>14) return false;
1047 }
1048 else { //Endcap case
1049 if (ft>27) return false;
1050 if (ft==2 || ft==9 || ft==15 || ft==21){ //Special crate
1051 if (slot >15) return false;
1052 }
1053 else if (ft==6) { //FCAL
1054 if (slot>15) return false;
1055 }
1056 else if (ft>24 && ft<28) { //sFCAL
1057 if (slot>10) return false;
1058 }
1059 else if (ft==3 || ft==10 || ft==16 || ft==22) { //HEC
1060 if (slot==3 || slot==4 || slot>10) return false;
1061 }
1062 else //standard crate
1063 if (slot>13) return false;
1064 }//end endcap
1065 return true;
1066}

◆ 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}

◆ 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}

◆ 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);}

◆ 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);}

◆ 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);}

◆ pos_neg()

int LArOnlineID_Base::pos_neg ( const HWIdentifier id) const

Return the side of a hardware cell identifier
pos_neg = [0,1] positive-side or negative-side Barrel/Endcap.

Definition at line 1643 of file LArOnlineID_Base.cxx.

1645{
1646 return (m_side_impl.unpack(id));
1647}

◆ 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}
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...

◆ 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);}

◆ 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);}

◆ 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}

◆ 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

◆ slot()

int LArOnlineID_Base::slot ( const HWIdentifier id) const

Return the slot number of a hardware cell identifier:
slot = [1,15] Slot-ID in top part of the crate (higher phi)
Note that a crate is = Slot(1-15)L + Slot(1-15)R.

Definition at line 1650 of file LArOnlineID_Base.cxx.

1652{
1653 return (m_slot_impl.unpack(id));
1654}

◆ 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

◆ 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}
int tile_field_value() const

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

int AtlasDetectorID::tile_field_value ( ) const
inlineprotectedinherited

Definition at line 460 of file AtlasDetectorID.h.

460{return (m_TILE_ID);}

◆ 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}

◆ 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);}

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_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_bec_ft_impl

IdDictFieldImplementation LArOnlineID_Base::m_bec_ft_impl
protected

Definition at line 511 of file LArOnlineID_Base.h.

◆ m_bec_impl

IdDictFieldImplementation LArOnlineID_Base::m_bec_impl
protected

Definition at line 506 of file LArOnlineID_Base.h.

◆ m_bec_index

size_type LArOnlineID_Base::m_bec_index
protected

Definition at line 475 of file LArOnlineID_Base.h.

◆ m_bec_slot_impl

IdDictFieldImplementation LArOnlineID_Base::m_bec_slot_impl
protected

Definition at line 512 of file LArOnlineID_Base.h.

◆ m_calib_channel_vec

std::vector<HWIdentifier> LArOnlineID_Base::m_calib_channel_vec
protected

Definition at line 501 of file LArOnlineID_Base.h.

◆ m_calib_module_vec

std::vector<HWIdentifier> LArOnlineID_Base::m_calib_module_vec
protected

Definition at line 500 of file LArOnlineID_Base.h.

◆ m_calibChannelHashMax

size_type LArOnlineID_Base::m_calibChannelHashMax
protected

Definition at line 499 of file LArOnlineID_Base.h.

◆ m_calibModuleHashMax

size_type LArOnlineID_Base::m_calibModuleHashMax
protected

Definition at line 498 of file LArOnlineID_Base.h.

◆ 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_chan_hash_calcs

std::vector<HashCalc> LArOnlineID_Base::m_chan_hash_calcs
protected

Definition at line 532 of file LArOnlineID_Base.h.

◆ m_channel_in_slot_impl

IdDictFieldImplementation LArOnlineID_Base::m_channel_in_slot_impl
protected

Definition at line 510 of file LArOnlineID_Base.h.

◆ m_channel_in_slot_index

size_type LArOnlineID_Base::m_channel_in_slot_index
protected

Definition at line 479 of file LArOnlineID_Base.h.

◆ m_channel_vec

std::vector<HWIdentifier> LArOnlineID_Base::m_channel_vec
protected

Definition at line 493 of file LArOnlineID_Base.h.

◆ m_channelHashMax

size_type LArOnlineID_Base::m_channelHashMax
protected

Definition at line 489 of file LArOnlineID_Base.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

const IdDictDictionary* LArOnlineID_Base::m_dict
protected

Definition at line 482 of file LArOnlineID_Base.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_feb_hash_calcs

std::vector<HashCalcFeb> LArOnlineID_Base::m_feb_hash_calcs
protected

Definition at line 531 of file LArOnlineID_Base.h.

◆ m_feb_vec

std::vector<HWIdentifier> LArOnlineID_Base::m_feb_vec
protected

Definition at line 492 of file LArOnlineID_Base.h.

◆ m_febHashMax

size_type LArOnlineID_Base::m_febHashMax
protected

Definition at line 488 of file LArOnlineID_Base.h.

◆ m_feedthrough_impl

IdDictFieldImplementation LArOnlineID_Base::m_feedthrough_impl
protected

Definition at line 508 of file LArOnlineID_Base.h.

◆ m_feedthrough_index

size_type LArOnlineID_Base::m_feedthrough_index
protected

Definition at line 477 of file LArOnlineID_Base.h.

◆ m_feedthrough_vec

std::vector<HWIdentifier> LArOnlineID_Base::m_feedthrough_vec
protected

Definition at line 491 of file LArOnlineID_Base.h.

◆ m_feedthroughHashMax

size_type LArOnlineID_Base::m_feedthroughHashMax
protected

Definition at line 487 of file LArOnlineID_Base.h.

◆ 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_calib_laronline_range

MultiRange LArOnlineID_Base::m_full_calib_laronline_range
protected

Definition at line 496 of file LArOnlineID_Base.h.

◆ m_full_calib_module_range

MultiRange LArOnlineID_Base::m_full_calib_module_range
protected

Definition at line 497 of file LArOnlineID_Base.h.

◆ m_full_channel_range

MultiRange LArOnlineID_Base::m_full_channel_range
protected

Definition at line 486 of file LArOnlineID_Base.h.

◆ m_full_feb_range

MultiRange LArOnlineID_Base::m_full_feb_range
protected

Definition at line 485 of file LArOnlineID_Base.h.

◆ m_full_feedthrough_range

MultiRange LArOnlineID_Base::m_full_feedthrough_range
protected

Definition at line 484 of file LArOnlineID_Base.h.

◆ m_full_laronline_range

MultiRange LArOnlineID_Base::m_full_laronline_range
protected

Definition at line 483 of file LArOnlineID_Base.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_impl

IdDictFieldImplementation LArOnlineID_Base::m_lar_impl
protected

Field Implementation.

Definition at line 504 of file LArOnlineID_Base.h.

◆ m_lar_index

size_type LArOnlineID_Base::m_lar_index
protected

Definition at line 473 of file LArOnlineID_Base.h.

◆ m_lar_part_impl

IdDictFieldImplementation AtlasDetectorID::m_lar_part_impl
privateinherited

Definition at line 420 of file AtlasDetectorID.h.

◆ m_laronline_impl

IdDictFieldImplementation LArOnlineID_Base::m_laronline_impl
protected

Definition at line 505 of file LArOnlineID_Base.h.

◆ m_laronline_index

size_type LArOnlineID_Base::m_laronline_index
protected

Definition at line 474 of file LArOnlineID_Base.h.

◆ m_laronlineRegion_index

size_type LArOnlineID_Base::m_laronlineRegion_index
protected

Definition at line 472 of file LArOnlineID_Base.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_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_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_RPC_ID

int AtlasDetectorID::m_RPC_ID {2}
privateinherited

Definition at line 406 of file AtlasDetectorID.h.

406{2};

◆ m_SCT_ID

int AtlasDetectorID::m_SCT_ID {2}
privateinherited

Definition at line 395 of file AtlasDetectorID.h.

395{2};

◆ m_side_impl

IdDictFieldImplementation LArOnlineID_Base::m_side_impl
protected

Definition at line 507 of file LArOnlineID_Base.h.

◆ m_side_index

size_type LArOnlineID_Base::m_side_index
protected

Definition at line 476 of file LArOnlineID_Base.h.

◆ m_slar_impl

IdDictFieldImplementation LArOnlineID_Base::m_slar_impl
protected

Definition at line 513 of file LArOnlineID_Base.h.

◆ m_slar_index

size_type LArOnlineID_Base::m_slar_index
protected

Definition at line 480 of file LArOnlineID_Base.h.

◆ m_slot_impl

IdDictFieldImplementation LArOnlineID_Base::m_slot_impl
protected

Definition at line 509 of file LArOnlineID_Base.h.

◆ m_slot_index

size_type LArOnlineID_Base::m_slot_index
protected

Definition at line 478 of file LArOnlineID_Base.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_TGC_ID

int AtlasDetectorID::m_TGC_ID {3}
privateinherited

Definition at line 407 of file AtlasDetectorID.h.

407{3};

◆ m_this_is_slar

bool LArOnlineID_Base::m_this_is_slar
protected

Definition at line 437 of file LArOnlineID_Base.h.

◆ 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_TRT_ID

int AtlasDetectorID::m_TRT_ID {3}
privateinherited

Definition at line 396 of file AtlasDetectorID.h.

396{3};

◆ 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: