 |
ATLAS Offline Software
|
This class provides an interface to generate or decode an identifier for the upper levels of the detector element hierarchy, i.e. Atlas, the detector systems and detector subsystems. As well general "print out" methods are provide for all detector systems. All id helper classes derive from this class. This class also provides access to the version tags of the id dictionaries used by the helper.
More...
#include <AtlasDetectorID.h>
Inherits IdHelper, and AthMessaging.
Inherited by CaloCell_Base_ID, CaloDM_ID, CaloIDHelper, CaloLVL1_ID, HGTD_ID, JGTowerBase_ID, LArElectrodeID, LArHVLineID, LArOnlineID_Base, LUCID_HardwareID, LUCID_ID, MuonIdHelper, PixelID, SCT_ID, SiliconID, TileHWID, TileTBID, TRT_ID, TTOnlineID, ZdcHardwareID, and ZdcID.
|
enum | HelperType {
HelperType::Unimplemented = -1,
HelperType::Silicon = 0,
HelperType::Pixel,
HelperType::PLR,
HelperType::SCT,
HelperType::TRT,
HelperType::LArEM,
HelperType::LArFCal,
HelperType::LArFCalSuperCell,
HelperType::LArHEC,
HelperType::LArHEC_SuperCell,
HelperType::LARMiniFCal,
HelperType::Tile,
HelperType::TileSuperCell,
HelperType::LArOnline,
HelperType::LArOnlineSuperCell,
HelperType::LArElectrode,
HelperType::LArHVLine,
HelperType::TileHardware,
HelperType::TileTestbeam,
HelperType::CaloCell,
HelperType::CaloSuperCell,
HelperType::CaloDM,
HelperType::CaloLvl1,
HelperType::GTower,
HelperType::JTower,
HelperType::Muon,
HelperType::LUCID,
HelperType::LUCID_Hardware,
HelperType::Zdc,
HelperType::ZdcHardware,
HelperType::TT
} |
| enum class for eventual final derived types of this class More...
|
|
|
std::string | m_nm |
| Message source name. More...
|
|
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More...
|
|
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More...
|
|
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More...
|
|
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) More...
|
|
This class provides an interface to generate or decode an identifier for the upper levels of the detector element hierarchy, i.e. Atlas, the detector systems and detector subsystems. As well general "print out" methods are provide for all detector systems. All id helper classes derive from this class. This class also provides access to the version tags of the id dictionaries used by the helper.
Definition at line 51 of file AtlasDetectorID.h.
◆ size_type
◆ HelperType
enum class for eventual final derived types of this class
Enumerator |
---|
Unimplemented | |
Silicon | |
Pixel | |
PLR | |
SCT | |
TRT | |
LArEM | |
LArFCal | |
LArFCalSuperCell | |
LArHEC | |
LArHEC_SuperCell | |
LARMiniFCal | |
Tile | |
TileSuperCell | |
LArOnline | |
LArOnlineSuperCell | |
LArElectrode | |
LArHVLine | |
TileHardware | |
TileTestbeam | |
CaloCell | |
CaloSuperCell | |
CaloDM | |
CaloLvl1 | |
GTower | |
JTower | |
Muon | |
LUCID | |
LUCID_Hardware | |
Zdc | |
ZdcHardware | |
TT | |
Definition at line 55 of file AtlasDetectorID.h.
60 LArEM, LArFCal, LArFCalSuperCell,
61 LArHEC, LArHEC_SuperCell, LARMiniFCal,
65 LArOnline, LArOnlineSuperCell,
67 LArElectrode, LArHVLine,
68 TileHardware, TileTestbeam,
75 LUCID, LUCID_Hardware,
◆ ID
◆ AtlasDetectorID() [1/2]
AtlasDetectorID::AtlasDetectorID |
( |
const std::string & |
name, |
|
|
const std::string & |
group |
|
) |
| |
◆ ~AtlasDetectorID()
AtlasDetectorID::~AtlasDetectorID |
( |
| ) |
|
|
virtual |
◆ AtlasDetectorID() [2/2]
◆ alfa_exp()
◆ alfa_field_value()
int AtlasDetectorID::alfa_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ bcm_exp()
◆ bcm_field_value()
int AtlasDetectorID::bcm_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ calo()
◆ calo_exp()
◆ calo_field_value()
int AtlasDetectorID::calo_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ csc()
◆ csc_field_value()
int AtlasDetectorID::csc_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ detsystem_context()
IdContext AtlasDetectorID::detsystem_context |
( |
void |
| ) |
const |
◆ dict_names()
const std::vector< std::string > & AtlasDetectorID::dict_names |
( |
void |
| ) |
const |
◆ dict_tags()
const std::vector< std::string > & AtlasDetectorID::dict_tags |
( |
void |
| ) |
const |
◆ dictionaryVersion()
std::string AtlasDetectorID::dictionaryVersion |
( |
void |
| ) |
const |
|
overridevirtual |
◆ do_checks()
bool AtlasDetectorID::do_checks |
( |
void |
| ) |
const |
|
overridevirtual |
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 471 of file AtlasDetectorID.cxx.
◆ do_neighbours()
bool AtlasDetectorID::do_neighbours |
( |
void |
| ) |
const |
|
overridevirtual |
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 478 of file AtlasDetectorID.cxx.
◆ file_names()
const std::vector< std::string > & AtlasDetectorID::file_names |
( |
void |
| ) |
const |
◆ fix_barrel_ec()
std::string AtlasDetectorID::fix_barrel_ec |
( |
const std::string & |
barrel_ec | ) |
const |
|
protected |
◆ forward_field_value()
int AtlasDetectorID::forward_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ fwd_exp()
◆ get_hash()
Create hash id from compact id (return == 0 for OK)
Implements IdHelper.
Reimplemented in SCT_ID, TRT_ID, PixelID, SiliconID, MuonIdHelper, TileHWID, CaloIDHelper, TileTBID, Tile_Base_ID, HGTD_ID, CaloLVL1_ID, and JGTowerBase_ID.
Definition at line 190 of file AtlasDetectorID.cxx.
◆ get_id()
Create compact id from hash id (return == 0 for OK)
Implements IdHelper.
Reimplemented in SCT_ID, TRT_ID, PixelID, SiliconID, MuonIdHelper, TileHWID, CaloIDHelper, TileTBID, Tile_Base_ID, HGTD_ID, CaloLVL1_ID, and JGTowerBase_ID.
Definition at line 184 of file AtlasDetectorID.cxx.
◆ group()
const std::string & AtlasDetectorID::group |
( |
| ) |
const |
◆ helper()
virtual HelperType AtlasDetectorID::helper |
( |
| ) |
const |
|
inlinevirtual |
◆ hgtd()
◆ hgtd_exp()
◆ hgtd_field_value()
int AtlasDetectorID::hgtd_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ indet()
◆ indet_exp()
◆ indet_field_value()
int AtlasDetectorID::indet_field_value |
( |
| ) |
const |
|
inlineprotected |
Provide efficient access to individual field values, for subclass idhelpers.
Definition at line 606 of file AtlasDetectorID.h.
◆ initialize_from_dictionary()
int AtlasDetectorID::initialize_from_dictionary |
( |
const IdDictMgr & |
dict_mgr | ) |
|
|
overridevirtual |
Initialization from the identifier dictionary.
Implements IdHelper.
Reimplemented in SCT_ID, TRT_ID, SiliconID, LArOnline_SuperCellID, PixelID, MuonIdHelper, MdtIdHelper, CaloCell_Base_ID, sTgcIdHelper, CscIdHelper, MmIdHelper, TgcIdHelper, RpcIdHelper, PLR_ID, LArOnlineID_Base, CaloDM_ID, TileHWID, TileTBID, HGTD_ID, LArMiniFCAL_ID, LArElectrodeID, CaloLVL1_ID, LArEM_ID, LArEM_SuperCell_ID, TTOnlineID, LArHEC_ID, ZdcID, LArHVLineID, TileID, LArFCAL_ID, Tile_SuperCell_ID, LArHEC_SuperCell_ID, CaloCell_ID, LArFCAL_SuperCell_ID, GTower_ID, JTower_ID, and LArOnlineID.
Definition at line 250 of file AtlasDetectorID.cxx.
254 ATH_MSG_ERROR(__func__<<
":"<<__LINE__<<
" - Failed to register dict tag");
259 m_helper = std::make_unique<AtlasDetectorIDHelper>().release();
263 ATH_MSG_ERROR(__func__<<
":"<<__LINE__<<
" - Initialization from dictionary failed.");
268 ATH_MSG_ERROR(__func__<<
":"<<__LINE__<<
" - Level initialization from dictionary failed.");
◆ initLevelsFromDict()
Definition at line 513 of file AtlasDetectorID.cxx.
557 auto assignSystemId = [
this, &
field](
const std::string& systemName,
559 bool mandatory =
true) ->
bool {
562 idToAssign =
label->value();
563 ATH_MSG_VERBOSE(
"Assign system "<<systemName<<
" to "<<idToAssign<<
".");
566 ATH_MSG_ERROR(
"initLevelsFromDict - label "<<systemName<<
" does NOT have a value ");
570 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find '"<<systemName<<
"' label");
573 ATH_MSG_DEBUG(
"initLevelsFromDict - unable to find '"<<systemName<<
"' label");
581 ATH_MSG_WARNING(
"initLevelsFromDict - cannot access InnerDetector dictionary");
588 m_isHighLuminosityLHC = (versionString.find(
"ITk") != std::string::npos || versionString.find(
"P2-RUN4") != std::string::npos);
593 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find 'part' field for InnerDetector dictionary");
600 if (!assignSystemId(
"SCT",
m_SCT_ID)) {
607 if (!assignSystemId(
"LuminosityDetectors",
m_LUMI_ID, versionString.find(
"PLR") != std::string::npos ||
608 versionString.find(
"P2-RUN4") != std::string::npos)) {
619 ATH_MSG_WARNING(
"initLevelsFromDict - cannot access ForwardDetectors dictionary");
631 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find 'part' field for ForwardDetectors dictionary");
634 if (!assignSystemId(
"ALFA",
m_ALFA_ID)) {
637 if (!assignSystemId(
"BCM",
m_BCM_ID)) {
643 if (!assignSystemId(
"ZDC",
m_ZDC_ID)) {
651 ATH_MSG_WARNING(
"initLevelsFromDict - cannot access LArCalorimeter dictionary");
660 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find 'part' field for LArCalorimeter dictionary");
676 ATH_MSG_DEBUG(
"initLevelsFromDict - unable to find 'module' field for miniFCAL");
683 ATH_MSG_WARNING(
"initLevelsFromDict - cannot access TileCalorimeter dictionary");
693 ATH_MSG_WARNING(
"initLevelsFromDict - cannot access MuonSpectrometer dictionary");
712 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find 'stationName' field for MuonSpectrometer dictionary");
717 std::string stationNameString{};
720 int stationNameIndex{};
721 int maxStationNameIndex{-1};
726 stationNameIndex =
label.valued() ?
label.value() :
i;
728 maxStationNameIndex =
std::max(maxStationNameIndex, stationNameIndex);
739 stationNameString =
label.name();
742 stationNameIndex =
label.valued() ?
label.value() :
i;
745 bool found{
false}, stationNameFound{
false}, technologyFound{
false};
746 std::string techLabel{};
748 for (
size_type j = 0; j < nregions; ++j) {
752 stationNameFound = technologyFound =
false;
761 if (
range->field_name() ==
"stationName") {
763 if (
range->label() == stationNameString) {
765 stationNameFound =
true;
772 }
else if (
range->field_name() ==
"technology") {
773 technologyFound =
true;
774 techLabel =
range->label();
777 if (!stationNameFound || !technologyFound) {
782 if (techLabel ==
"MDT") {
784 }
else if (techLabel ==
"RPC") {
786 }
else if (techLabel ==
"CSC") {
788 }
else if (techLabel ==
"TGC"){
790 }
else if (techLabel ==
"MM") {
792 }
else if (techLabel ==
"STGC") {
819 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find 'technology' field for MuonSpectrometer dictionary");
823 if (!assignSystemId(
"MDT",
m_MDT_ID)) {
826 if (!assignSystemId(
"RPC",
m_RPC_ID)) {
829 if (!assignSystemId(
"TGC",
m_TGC_ID)) {
832 if (!assignSystemId(
"STGC",
m_STGC_ID,
false)) {
835 if (!assignSystemId(
"MM",
m_MM_ID,
false)) {
838 if (!assignSystemId(
"CSC",
m_CSC_ID,
false)) {
846 ATH_MSG_WARNING(
"initLevelsFromDict - Warning cannot access Calorimeter dictionary");
857 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'negative_lvl1_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
863 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'positive_lvl1_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
871 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'negative_DMLar_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
877 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'positive_DMLar_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
886 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'negative_DMTile_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
892 ATH_MSG_ERROR(
"initLevelsFromDict - Could not get value for label 'positive_DMTile_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
900 ATH_MSG_DEBUG(
"initLevelsFromDict - Could not get value for label 'no_side' of field 'DetZside' in dictionary " <<
m_calo_dict->
name());
909 field = top_dict->find_field(
"subdet");
913 ATH_MSG_ERROR(
"initLevelsFromDict - - unable to find 'subdet' field from dict "
914 << top_dict->name());
918 if (!assignSystemId(
"InnerDetector",
m_INDET_ID)) {
921 if (!assignSystemId(
"ForwardDetectors",
m_FWD_ID)) {
924 if (!assignSystemId(
"LArCalorimeter",
m_LAR_ID)) {
927 if (!assignSystemId(
"TileCalorimeter",
m_TILE_ID)) {
931 if (!assignSystemId(
"MuonSpectrometer",
m_MUON_ID)) {
934 if (!assignSystemId(
"Calorimeter",
m_CALO_ID)) {
939 if (top_dict->name() ==
"InnerDetector") {
941 }
else if (top_dict->name() ==
"Calorimeter") {
943 }
else if (top_dict->name() ==
"LArCalorimeter") {
945 }
else if (top_dict->name() ==
"MuonSpectrometer") {
946 name =
"stationName";
947 }
else if (top_dict->name() ==
"TileCalorimeter") {
949 }
else if (top_dict->name() ==
"ForwardDetectors") {
959 ATH_MSG_ERROR(
"initLevelsFromDict - unable to find field " <<
name <<
" from dict "<< top_dict->name());
963 ATH_MSG_ERROR(
"initLevelsFromDict - no top dictionary defined");
981 ATH_MSG_ERROR(
"initLevelsFromDict - ERROR det implementation is not enumerated: "
◆ 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.
◆ is_alfa()
bool AtlasDetectorID::is_alfa |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_bcm()
bool AtlasDetectorID::is_bcm |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_calo() [1/2]
◆ is_calo() [2/2]
bool AtlasDetectorID::is_calo |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_csc() [1/2]
◆ is_csc() [2/2]
bool AtlasDetectorID::is_csc |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_forward()
bool AtlasDetectorID::is_forward |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_hgtd() [1/2]
◆ is_hgtd() [2/2]
bool AtlasDetectorID::is_hgtd |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_indet() [1/2]
◆ is_indet() [2/2]
bool AtlasDetectorID::is_indet |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar() [1/2]
◆ is_lar() [2/2]
bool AtlasDetectorID::is_lar |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar_dm()
bool AtlasDetectorID::is_lar_dm |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar_em() [1/2]
◆ is_lar_em() [2/2]
bool AtlasDetectorID::is_lar_em |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar_fcal() [1/2]
◆ is_lar_fcal() [2/2]
bool AtlasDetectorID::is_lar_fcal |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar_hec() [1/2]
◆ is_lar_hec() [2/2]
bool AtlasDetectorID::is_lar_hec |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lar_minifcal() [1/2]
◆ is_lar_minifcal() [2/2]
bool AtlasDetectorID::is_lar_minifcal |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lucid()
bool AtlasDetectorID::is_lucid |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lumi() [1/2]
◆ is_lumi() [2/2]
bool AtlasDetectorID::is_lumi |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lvl1_online()
bool AtlasDetectorID::is_lvl1_online |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_lvl1_trig_towers()
bool AtlasDetectorID::is_lvl1_trig_towers |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_mdt() [1/2]
◆ is_mdt() [2/2]
bool AtlasDetectorID::is_mdt |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_mm() [1/2]
◆ is_mm() [2/2]
bool AtlasDetectorID::is_mm |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_muon() [1/2]
◆ is_muon() [2/2]
bool AtlasDetectorID::is_muon |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_pixel() [1/2]
◆ is_pixel() [2/2]
bool AtlasDetectorID::is_pixel |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_plr() [1/2]
◆ is_plr() [2/2]
bool AtlasDetectorID::is_plr |
( |
Identifier |
id | ) |
const |
◆ is_rpc() [1/2]
◆ is_rpc() [2/2]
bool AtlasDetectorID::is_rpc |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_sct() [1/2]
◆ is_sct() [2/2]
bool AtlasDetectorID::is_sct |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_stgc() [1/2]
◆ is_stgc() [2/2]
bool AtlasDetectorID::is_stgc |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_tgc() [1/2]
◆ is_tgc() [2/2]
bool AtlasDetectorID::is_tgc |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_tile() [1/2]
◆ is_tile() [2/2]
bool AtlasDetectorID::is_tile |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_tile_dm()
bool AtlasDetectorID::is_tile_dm |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_trt() [1/2]
◆ is_trt() [2/2]
bool AtlasDetectorID::is_trt |
( |
Identifier |
id | ) |
const |
|
inline |
◆ is_zdc()
bool AtlasDetectorID::is_zdc |
( |
Identifier |
id | ) |
const |
|
inline |
◆ lar()
◆ lar_dm()
◆ lar_em()
◆ lar_em_exp()
◆ lar_em_field_value()
int AtlasDetectorID::lar_em_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ lar_exp()
◆ lar_fcal()
Identifier AtlasDetectorID::lar_fcal |
( |
void |
| ) |
const |
◆ lar_fcal_exp()
◆ lar_fcal_field_value()
int AtlasDetectorID::lar_fcal_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ lar_field_value()
int AtlasDetectorID::lar_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ lar_hec()
Identifier AtlasDetectorID::lar_hec |
( |
void |
| ) |
const |
◆ lar_hec_exp()
◆ lar_hec_field_value()
int AtlasDetectorID::lar_hec_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ lar_lvl1()
Identifier AtlasDetectorID::lar_lvl1 |
( |
void |
| ) |
const |
◆ lucid_exp()
◆ lucid_field_value()
int AtlasDetectorID::lucid_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ lumi()
◆ lumi_exp()
◆ lumi_field_value()
int AtlasDetectorID::lumi_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ mdt()
◆ mdt_field_value()
int AtlasDetectorID::mdt_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ mm()
◆ mm_field_value()
int AtlasDetectorID::mm_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ 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 164 of file AthMessaging.h.
◆ 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 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ muon()
◆ muon_exp()
◆ muon_field_value()
int AtlasDetectorID::muon_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ operator=()
◆ pixel()
◆ pixel_exp()
◆ pixel_field_value()
int AtlasDetectorID::pixel_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ plr_field_value()
int AtlasDetectorID::plr_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ print()
◆ print_to_string()
or provide the printout in string form
Definition at line 422 of file AtlasDetectorID.cxx.
429 unsigned int max_index = (context) ? context->
end_index() : 999;
453 ATH_MSG_WARNING(__func__<<
":"<<__LINE__<<
" No dictionary could be associated to "<<
id);
◆ register_dict_tag()
int AtlasDetectorID::register_dict_tag |
( |
const IdDictMgr & |
dict_mgr, |
|
|
const std::string & |
dict_name |
|
) |
| |
|
protected |
◆ reinitialize()
Test whether an idhelper should be reinitialized based on the change of tags.
Definition at line 216 of file AtlasDetectorID.cxx.
227 ATH_MSG_ERROR(
"reinitialize: dict names and tags vectors not the same length ");
◆ rpc()
◆ rpc_field_value()
int AtlasDetectorID::rpc_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ sct()
◆ sct_exp()
◆ sct_field_value()
int AtlasDetectorID::sct_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ set_do_checks()
void AtlasDetectorID::set_do_checks |
( |
bool |
do_checks | ) |
|
|
overridevirtual |
◆ set_do_neighbours()
void AtlasDetectorID::set_do_neighbours |
( |
bool |
do_neighbours | ) |
|
|
overridevirtual |
◆ set_quiet()
void AtlasDetectorID::set_quiet |
( |
bool |
quiet | ) |
|
◆ setDictVersion()
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setMessageSvc()
void AtlasDetectorID::setMessageSvc |
( |
IMessageSvc * |
msgSvc | ) |
|
|
overridevirtual |
◆ show()
Short print out of any identifier (optionally provide separation character - default is '.
'):
Definition at line 354 of file AtlasDetectorID.cxx.
◆ show_to_string()
or provide the printout in string form
Definition at line 360 of file AtlasDetectorID.cxx.
363 std::string
result(
"Unable to decode id");
364 unsigned int max_index = (context) ? context->
end_index() : 999;
366 if (!
id.is_valid()) {
398 if (dict->unpack(
m_group, compact,
prefix, max_index, expId)) {
406 for (
unsigned int i = 0;
i < expId.fields(); ++
i) {
◆ stgc()
◆ stgc_field_value()
int AtlasDetectorID::stgc_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ subdet_context()
IdContext AtlasDetectorID::subdet_context |
( |
void |
| ) |
const |
◆ tgc()
◆ tgc_field_value()
int AtlasDetectorID::tgc_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ tile()
◆ tile_dm()
Identifier AtlasDetectorID::tile_dm |
( |
void |
| ) |
const |
◆ tile_exp()
◆ tile_field_value()
int AtlasDetectorID::tile_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ to_range()
◆ trt()
◆ trt_exp()
◆ trt_field_value()
int AtlasDetectorID::trt_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ zdc_exp()
◆ zdc_field_value()
int AtlasDetectorID::zdc_field_value |
( |
| ) |
const |
|
inlineprotected |
◆ AtlasDetectorIDHelper
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_ALFA_ID
int AtlasDetectorID::m_ALFA_ID {1} |
|
private |
◆ m_atlas_dict
◆ m_BCM_ID
int AtlasDetectorID::m_BCM_ID {3} |
|
private |
◆ m_calo_dict
◆ m_CALO_ID
int AtlasDetectorID::m_CALO_ID {10} |
|
private |
◆ m_calo_side_impl
◆ m_CSC_ID
int AtlasDetectorID::m_CSC_ID {1} |
|
private |
◆ m_det_impl
◆ m_DET_INDEX
◆ m_dict_names
std::vector<std::string> AtlasDetectorID::m_dict_names |
|
protected |
◆ m_dict_tags
std::vector<std::string> AtlasDetectorID::m_dict_tags |
|
protected |
◆ m_dict_version
std::string AtlasDetectorID::m_dict_version |
|
private |
◆ m_do_checks
bool AtlasDetectorID::m_do_checks {} |
|
protected |
Flag for subclasses to know whether or not to perform checks.
In general, this is set to false in optimized mode.
Definition at line 363 of file AtlasDetectorID.h.
◆ m_do_neighbours
bool AtlasDetectorID::m_do_neighbours {true} |
|
protected |
Flag for subclasses to know whether or not to perform neighbour initialization.
Definition at line 366 of file AtlasDetectorID.h.
◆ m_file_names
std::vector<std::string> AtlasDetectorID::m_file_names |
|
protected |
List of dictionary file names used by this helper.
Definition at line 379 of file AtlasDetectorID.h.
◆ m_fwd_dict
◆ m_FWD_ID
int AtlasDetectorID::m_FWD_ID {13} |
|
private |
◆ m_fwd_part_impl
◆ m_group
std::string AtlasDetectorID::m_group |
|
protected |
◆ m_helper
◆ m_HGTD_ID
int AtlasDetectorID::m_HGTD_ID {4} |
|
private |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_indet_dict
◆ m_INDET_ID
int AtlasDetectorID::m_INDET_ID {2} |
|
private |
◆ m_indet_part_impl
◆ m_is_initialized_from_dict
bool AtlasDetectorID::m_is_initialized_from_dict {} |
|
private |
◆ m_isHighLuminosityLHC
bool AtlasDetectorID::m_isHighLuminosityLHC {} |
|
private |
◆ m_lar_dict
◆ m_lar_dm_field
◆ m_LAR_EM_ID
int AtlasDetectorID::m_LAR_EM_ID {1} |
|
private |
◆ m_LAR_FCAL_ID
int AtlasDetectorID::m_LAR_FCAL_ID {3} |
|
private |
◆ m_lar_fcal_module_impl
◆ m_LAR_FCAL_MODULE_INDEX
int AtlasDetectorID::m_LAR_FCAL_MODULE_INDEX {999} |
|
private |
◆ m_LAR_HEC_ID
int AtlasDetectorID::m_LAR_HEC_ID {2} |
|
private |
◆ m_LAR_ID
int AtlasDetectorID::m_LAR_ID {4} |
|
private |
◆ m_lar_part_impl
◆ m_LUCID_ID
int AtlasDetectorID::m_LUCID_ID {5} |
|
private |
◆ m_LUMI_ID
int AtlasDetectorID::m_LUMI_ID {3} |
|
private |
◆ m_LUMI_PLR_ID
int AtlasDetectorID::m_LUMI_PLR_ID {1} |
|
private |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_lvl1_field
◆ m_lvl1_onl_field
◆ m_MDT_ID
int AtlasDetectorID::m_MDT_ID {0} |
|
private |
◆ m_MM_ID
int AtlasDetectorID::m_MM_ID {5} |
|
private |
◆ 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_msgSvc
IMessageSvc* AtlasDetectorID::m_msgSvc {} |
|
protected |
◆ m_muon_dict
◆ m_MUON_ID
int AtlasDetectorID::m_MUON_ID {7} |
|
private |
◆ m_muon_mdt_impl
◆ m_muon_rpc_impl
◆ m_muon_station_name_impl
◆ m_MUON_SUBDET_INDEX
size_type AtlasDetectorID::m_MUON_SUBDET_INDEX {999} |
|
private |
◆ m_muon_tech_bits
std::vector<unsigned int> AtlasDetectorID::m_muon_tech_bits |
|
private |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_PIXEL_ID
int AtlasDetectorID::m_PIXEL_ID {1} |
|
private |
◆ m_quiet
bool AtlasDetectorID::m_quiet {} |
|
protected |
◆ m_RPC_ID
int AtlasDetectorID::m_RPC_ID {2} |
|
private |
◆ m_SCT_ID
int AtlasDetectorID::m_SCT_ID {2} |
|
private |
◆ m_STGC_ID
int AtlasDetectorID::m_STGC_ID {4} |
|
private |
◆ m_SUBDET_INDEX
size_type AtlasDetectorID::m_SUBDET_INDEX {999} |
|
private |
◆ m_TGC_ID
int AtlasDetectorID::m_TGC_ID {3} |
|
private |
◆ m_tile_dict
◆ m_tile_dm_field
◆ m_TILE_ID
int AtlasDetectorID::m_TILE_ID {5} |
|
private |
◆ m_TRT_ID
int AtlasDetectorID::m_TRT_ID {3} |
|
private |
◆ m_ZDC_ID
int AtlasDetectorID::m_ZDC_ID {7} |
|
private |
The documentation for this class was generated from the following files:
bool is_pixel(Identifier id) const
std::atomic< MSG::Level > m_lvl
Current logging level.
IdDictDictionary * m_muon_dict
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
bool is_forward(Identifier id) const
std::vector< unsigned int > m_muon_tech_bits
size_type lar_fcal_region_index() const
IdDictFieldImplementation m_indet_part_impl
AtlasDetectorIDHelper * m_helper
const std::string & version() const
Dictionary version.
bool is_lar_fcal(Identifier id) const
std::string show_to_string(void) const
bool is_lar(Identifier id) const
int muon_field_value() const
const IdDictRegion & region(size_t i) const
Region at index i.
size_type lvl1_region_index() const
size_type end_index() const
int calo_field_value() const
void pack(int value, Identifier &id) const
IdDictDictionary * m_tile_dict
size_type pixel_region_index() const
IMessageSvc * m_msgSvc
pointer to the message service
std::string m_dict_version
bool m_do_checks
Flag for subclasses to know whether or not to perform checks.
static constexpr value_type MAX_BIT
size_type m_MUON_SUBDET_INDEX
const std::string & name() const
Dictionary name.
int m_LAR_FCAL_MODULE_INDEX
#define ATH_MSG_VERBOSE(x)
int lar_field_value() const
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
int unpack(Identifier id) const
Identifier manipulation methods.
const std::string & file_name() const
Access to file name.
virtual bool do_neighbours(void) const override
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...
IMessageSvc * getMessageSvc(bool quiet=false)
IdDictField * find_field(const std::string &name) const
size_type mdt_region_index() const
bool is_lvl1_trig_towers(Identifier id) const
bool m_do_neighbours
Flag for subclasses to know whether or not to perform neighbour initialization.
Identifier::size_type size_type
const IdDictFieldImplementation & implementation(size_t i) const
bool match(element_type value) const
The basic match operation Given a value, test to see if it satisfies the constraints for this field.
AthMessaging()
Default constructor:
Range::field m_tile_dm_field
static constexpr value_type ALL_BITS
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
void set_ored_field(const Range::field &ored_field)
msgSvc
Provide convenience handles for various services.
std::string m_group
Group name.
IdDictDictionary * m_calo_dict
bool m_is_initialized_from_dict
IdDictFieldImplementation m_lar_part_impl
ExpandedIdentifier indet_exp(void) const
Detector systems:
IdDictFieldImplementation m_muon_mdt_impl
IdDictFieldImplementation m_lar_fcal_module_impl
bool is_tile_dm(Identifier id) const
bool m_isHighLuminosityLHC
IdDictDictionary * m_fwd_dict
bool is_tile(Identifier id) const
const std::string & group() const
Group name for this helper.
int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
const Range::field & ored_field() const
Range::field m_lvl1_onl_field
bool do_neighbours() const
Check whether or not to init neighbours.
bool m_quiet
If true, suppress DEBUG/INFO messages.
MsgStream & msg() const
The standard message stream.
bool isEnumerated() const
IdDictFieldImplementation m_muon_rpc_impl
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 is_calo(Identifier id) const
int tile_field_value() const
int get_label_value(const std::string &field, const std::string &label, int &value) const
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form
const IdDictRegionEntry & entry(size_t i) const
IdDictDictionary * m_indet_dict
IdDictFieldImplementation m_calo_side_impl
bool is_indet(Identifier id) const
std::vector< std::string > m_dict_names
List of dictionary names used by this helper.
Range::field m_lar_dm_field
size_type lar_em_region_index() const
ExpandedIdentifier fwd_exp(void) const
IdDictFieldImplementation m_muon_station_name_impl
struct TBPatternUnitContext Muon
bool is_lumi(Identifier id) const
bool is_lar_dm(Identifier id) const
LAr/Tile dead material:
bool is_muon(Identifier id) const
IdDictFieldImplementation m_det_impl
Data object for each calorimeter readout cell.
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
size_type rpc_region_index() const
const std::string & dict_tag() const
Access to the dictionary tag.
ExpandedIdentifier lar_exp(void) const
std::vector< std::string > m_file_names
List of dictionary file names used by this helper.
#define ATH_MSG_WARNING(x)
std::string m_nm
Message source name.
This is the individual specification for the range of one ExpandedIdentifier IdentifierField.
bool do_checks() const
Check whether or not to do checks for ids.
IdDictDictionary * m_lar_dict
unsigned long long value_type
bool is_lvl1_online(Identifier id) const
void initMessaging() const
Initialize our message level and MessageSvc.
size_t n_regions() const
Number of contained regions.
int initLevelsFromDict(const IdDictMgr &dict_mgr)
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
std::vector< std::string > m_dict_tags
List of dictionary versions used by this helper.
void add_value(element_type value)
constexpr std::initializer_list< int > Tile
Range::field m_lvl1_field