39 ATH_MSG_INFO(
"Request to reinitialize not satisfied - tags have not changed");
53 ATH_MSG_FATAL(
"PLR_ID::initialize_from_dict - cannot access InnerDetector dictionary");
65 ATH_MSG_FATAL(
"PLR_ID::initialize_from_dict - cannot get plr id dictionary");
75 if (
m_dict->get_label_value(
"barrel_endcap",
"barrel", barrel_value)) {
76 ATH_MSG_FATAL(
"Could not get value for label 'barrel' of field 'barrel_endcap' in dictionary " <<
m_dict->name());
95 if (
m_dict->get_label_value(
"barrel_endcap",
"negative_dbm", dbm_value)) {
96 if (
m_dict->version().find(
"DBM") != std::string::npos) {
97 ATH_MSG_WARNING(
"Could not get value for label 'negative_dbm' of field 'barrel_endcap' in dictionary " <<
m_dict->name());
105 if (
m_dict->get_label_value(
"barrel_endcap",
"positive_dbm", dbm_value)) {
106 if (
m_dict->version().find(
"DBM") != std::string::npos) {
107 ATH_MSG_WARNING(
"Could not get value for label 'positive_dbm' of field 'barrel_endcap' in dictionary " <<
m_dict->name());
125 if (atlasDict->
get_label_value(
"subdet",
"InnerDetector", inDetField)) {
126 ATH_MSG_FATAL(
"Could not get value for label 'InnerDetector' of field 'subdet' in dictionary " << atlasDict->
name());
133 if (
m_dict->get_label_value(
"part",
"LuminosityDetectors", lumiField)) {
134 ATH_MSG_FATAL(
"Could not get value for label 'LuminosityDetectors' of field 'part' in dictionary " <<
m_dict->name());
141 if (
m_dict->get_label_value(
"PLR_or_BCM",
"PLR", plrField)) {
142 ATH_MSG_FATAL(
"Could not get value for label 'PLR' of field 'PLR_or_BCM' in dictionary " <<
m_dict->name());
147 ATH_MSG_DEBUG(
"PLR_ID::initialize_from_dict Found field values: InDet/LuminosityDetectors/PLR "
148 << inDetField <<
"/" << lumiField <<
"/" << plrField);
153 region_id.add(inDetField);
154 region_id.add(lumiField);
155 region_id.add(plrField);
186 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - dictionary NOT initialized");
217 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'subdet' field");
222 field =
m_dict->find_field(
"part");
226 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'part' field");
230 field =
m_dict->find_field(
"PLR_or_BCM");
234 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'PLR_or_BCM' field");
238 field =
m_dict->find_field(
"barrel_endcap");
242 ATH_MSG_INFO(
"Hardcoded value 3, field index " << field->index());
245 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'barrel_endcap' field");
249 field =
m_dict->find_field(
"layer");
253 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'layer' field");
257 field =
m_dict->find_field(
"phi_module");
261 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'phi_module' field");
264 field =
m_dict->find_field(
"eta_module");
269 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'eta_module' field");
272 field =
m_dict->find_field(
"phi_index");
277 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'phi_index' field");
280 field =
m_dict->find_field(
"eta_index");
285 ATH_MSG_FATAL(
"PLR_ID::initLevelsFromDict - unable to find 'eta_index' field");
305 ATH_MSG_DEBUG(
"decode index and bit fields for each level:");
324 std::cout <<
"indet " <<
m_indet_impl.decode_index() <<
" "
331 std::cout <<
"lumi " <<
m_lumi_impl.decode_index() <<
" "
338 std::cout <<
"plr " <<
m_plr_impl.decode_index() <<
" "
339 << (std::string)
m_plr_impl.ored_field() <<
" "
345 std::cout <<
"bec " <<
m_bec_impl.decode_index() <<
" "
346 << (std::string)
m_bec_impl.ored_field() <<
" "
424 std::cout <<
"PLR_ID::initLevelsFromDict - found levels " << std::endl;
#define ATH_MSG_WARNING(x)
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
int lumi_field_value() const
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
int plr_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.
Identifier lumi(void) const
bool is_lumi(Identifier id) const
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
int get_label_value(const std::string &field, const std::string &label, int &value) const
const std::string & name() const
Dictionary name.
const IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
const IdDictFieldImplementation & implementation(size_t i) const
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
IdDictFieldImplementation m_plr_impl
IdDictFieldImplementation m_lumi_impl
IdDictFieldImplementation m_bec_eta_mod_impl
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
size_type m_ETA_MODULE_INDEX
IdDictFieldImplementation m_lay_disk_shift_impl
IdDictFieldImplementation m_eta_mod_impl
MultiRange m_full_wafer_range
size_type m_LAYER_DISK_INDEX
IdDictFieldImplementation m_lay_disk_impl
const IdDictDictionary * m_dict
size_type m_pixel_region_index
IdDictFieldImplementation m_phi_mod_shift_impl
size_type m_BARREL_EC_INDEX
IdDictFieldImplementation m_phi_mod_impl
IdDictFieldImplementation m_phi_index_impl
ExpandedIdentifier m_baseExpandedIdentifier
Range::field m_barrel_field
size_type m_PHI_INDEX_INDEX
size_type m_PHI_MODULE_INDEX
IdDictFieldImplementation m_eta_mod_shift_impl
Identifier m_baseIdentifier
IdDictFieldImplementation m_bec_impl
size_type m_ETA_INDEX_INDEX
IdDictFieldImplementation m_indet_impl
IdDictFieldImplementation m_eta_index_impl
IdDictFieldImplementation m_bec_shift_impl
MultiRange m_full_pixel_range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.