ATLAS Offline Software
IdDictAltRegions.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 
6 #include "IdDict/IdDictRegion.h"
7 #include "Identifier/Range.h"
9 
10 #include <iostream>
11 
16  :
17  m_selected_region(0) {
18 }
19 
21 
22 std::string
24  std::string result;
25  if (!m_regions.empty()) result = m_regions.begin()->second->group_name();
26  return(result);
27 }
28 
29 void
31  for (auto& p : m_regions) {
32  p.second->set_index(index);
33  }
34 }
35 
36 void
39  // We assume that it is not necessary to select only those with
40  // the correct tag -> send to all in map
41  for (auto& p : m_regions) {
42  p.second->resolve_references(idd, dictionary);
43  }
44 }
45 
46 void
49  const std::string& tag) {
50  // Find the region given by the tag
51  map_iterator region_it = m_regions.find(tag);
52 
53  if (region_it == m_regions.end()) {
54  std::cout << "IdDictAltRegions::generate_implementation could not find region for tag "
55  << tag << " Keys in map " << std::endl;
56  for (int i = 0; const auto& p : m_regions) {
57  std::cout << " i " << i++ << " key " << p.first;
58  }
59  std::cout << std::endl;
60  return;
61  }
62  m_selected_region = region_it->second.get();
64 }
65 
66 void
69 }
70 
71 bool
73  return(true);
74 }
75 
76 void
78  m_regions.clear();
79 }
80 
81 Range
83  Range result;
84 
86  return(result);
87 }
88 
89 
91 void IdDictAltRegions::add_region (std::unique_ptr<IdDictRegion> region)
92 {
93  m_regions[region->tag()] = std::move(region);
94 }
95 
96 
98 void IdDictAltRegions::select_region (const std::string& name)
99 {
100  map_iterator region_it = m_regions.find (name);
101  if (region_it == m_regions.end()){
102  std::cout << "IdDictAltRegion::select_region could not find region \""
103  << name << "\". Keys in map " << std::endl;
104  for (const auto& p : m_regions) {
105  std::cout << " key " << p.first;
106  }
107  std::cout << std::endl;
108  } else {
109  m_selected_region = region_it->second.get();
110  }
111 }
IdDictAltRegions::reset_implementation
virtual void reset_implementation() override
Definition: IdDictAltRegions.cxx:67
IdDictRegion::build_range
virtual Range build_range() const override
Definition: IdDictRegion.cxx:257
IdDictRegion::reset_implementation
virtual void reset_implementation() override
Definition: IdDictRegion.cxx:200
get_generator_info.result
result
Definition: get_generator_info.py:21
index
Definition: index.py:1
IdDictAltRegions::build_range
virtual Range build_range() const override
Definition: IdDictAltRegions.cxx:82
IdDictAltRegions::m_selected_region
IdDictRegion * m_selected_region
Definition: IdDictAltRegions.h:76
Range.h
IdDictAltRegions::generate_implementation
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, const std::string &tag="") override
Definition: IdDictAltRegions.cxx:47
IdDictRegion::tag
const std::string & tag() const
Definition: IdDictRegion.h:168
IdDictAltRegions::verify
virtual bool verify() const override
Definition: IdDictAltRegions.cxx:72
IdDictAltRegions.h
IdDictMgr
Definition: IdDictMgr.h:16
IdDictAltRegions::map_iterator
map_type::iterator map_iterator
Definition: IdDictAltRegions.h:72
IdDictAltRegions::IdDictAltRegions
IdDictAltRegions()
Definition: IdDictAltRegions.cxx:15
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
lumiFormat.i
int i
Definition: lumiFormat.py:85
IdDictAltRegions::select_region
void select_region(const std::string &name)
Select the named region.
Definition: IdDictAltRegions.cxx:98
IdDictAltRegions::group_name
virtual std::string group_name() const override
Group name for this region.
Definition: IdDictAltRegions.cxx:23
IdDictRegion::generate_implementation
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, const std::string &tag="") override
Definition: IdDictRegion.cxx:138
master.dictionary
dictionary
Definition: master.py:47
IdDictAltRegions::m_regions
map_type m_regions
Definition: IdDictAltRegions.h:75
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:29
IdDictDictionary
Definition: IdDictDictionary.h:31
IdDictFieldImplementation.h
IdDictAltRegions::add_region
void add_region(std::unique_ptr< IdDictRegion > region)
Add a new region, with key given by the tag.
Definition: IdDictAltRegions.cxx:91
IdDictAltRegions::clear
virtual void clear() override
Definition: IdDictAltRegions.cxx:77
IdDictRegion.h
IdDictAltRegions::resolve_references
virtual void resolve_references(IdDictMgr &idd, IdDictDictionary &dictionary) override
Definition: IdDictAltRegions.cxx:37
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:23
IdDictAltRegions::~IdDictAltRegions
virtual ~IdDictAltRegions()
IdDictAltRegions::set_index
virtual void set_index(size_t index) override
Definition: IdDictAltRegions.cxx:30