17 #include "DD4hep/Detector.h"
57 const std::string& category =
"")
const noexcept(
false);
65 const std::string& category =
"");
71 bool hasValue(
const std::string& tag,
const std::string& category =
"")
const;
77 bool hasType(
const std::string& type,
const std::string& category =
"")
const;
84 void addType(
const std::string& type,
const std::string& category =
"",
85 const std::string& word =
"");
91 const std::string
getType(
const std::string& type,
92 const std::string& category =
"")
const
100 template <
typename T>
101 void addT(std::map<std::string, T>& map,
const T& val,
const std::string& tag,
102 const std::string& category,
const T& catDeco);
105 template <
typename T>
106 const T getT(
const std::map<std::string, T>& map,
const std::string& tag,
107 const std::string& category =
"")
const noexcept(
false);
110 template <
typename T>
111 bool hasT(
const std::map<std::string, T>& map,
const std::string& tag,
112 const std::string& category =
"")
const;
122 template <
typename T>
124 const std::string&
tag,
125 const std::string& category)
const noexcept(
false) {
126 std::string ctag =
"/";
127 if (!category.empty()) {
132 auto search = map.find(ctag);
133 if (search == map.end()) {
134 std::string error_message =
"Acts::ActsExtension does not contain: ";
135 error_message += ctag;
136 error_message +=
'\n';
138 throw std::runtime_error(error_message.c_str());
140 return search->second;
144 template <
typename T>
146 const std::string&
tag,
const std::string& category,
148 std::string ctag =
"/";
149 if (!category.empty()) {
159 template <
typename T>
161 const std::string&
tag,
162 const std::string& category)
const {
163 std::string ctag =
"/";
164 if (!category.empty()) {
169 auto search = map.find(ctag);
170 return (search != map.end());