3 #include "DD4hep/Detector.h" 10 string_view DDSpecPar::strValue(
const string&
key)
const {
11 auto const&
item = spars.find(key);
17 bool DDSpecPar::hasValue(
const string&
key)
const {
18 if (numpars.find(key) !=
end(numpars))
25 std::vector<double> DDSpecPar::value<std::vector<double>>(
const string&
key)
const {
26 std::vector<double>
result;
28 auto const& nitem = numpars.find(
key);
29 if (nitem !=
end(numpars)) {
30 return std::vector<double>(
begin(nitem->second),
end(nitem->second));
33 auto const& sitem = spars.find(
key);
34 if (sitem !=
end(spars)) {
36 return dd4hep::_toDouble(i);
44 std::vector<std::string> DDSpecPar::value<std::vector<std::string>>(
const string&
key)
const {
45 std::vector<std::string>
result;
47 auto const& nitem = numpars.find(
key);
48 if (nitem !=
end(numpars)) {
50 return std::to_string(i);
56 auto const& sitem = spars.find(
key);
57 if (sitem !=
end(spars)) {
58 return std::vector<std::string>(
begin(sitem->second),
end(sitem->second));
64 double DDSpecPar::dblValue(
const string&
key)
const {
65 auto const&
item = numpars.find(key);
73 for_each(
begin(specpars),
end(specpars), [&refs, &attribute, &value, &found](
const auto&
k) {
75 for_each(
begin(
k.second.spars),
end(
k.second.spars), [&](
const auto&
l) {
76 if (l.first == attribute) {
77 for_each(begin(l.second), end(l.second), [&](const auto& m) {
84 refs.emplace_back(&
k.second);
91 for_each(
begin(specpars),
end(specpars), [&refs, &attribute, &found](
const auto&
k) {
93 for_each(
begin(
k.second.spars),
end(
k.second.spars), [&](
const auto&
l) {
94 if (l.first == attribute) {
99 refs.emplace_back(&
k.second);
105 std::vector<std::string_view>
result;
106 for_each(
begin(specpars),
end(specpars), [&result](
const auto&
i) { result.emplace_back(
i.first); });
110 bool DDSpecParRegistry::hasSpecPar(std::string_view
name)
const {
112 find_if(
begin(specpars),
end(specpars), [&name](
const auto&
i) {
return (
i.first.compare(name) == 0); });
121 find_if(
begin(specpars),
end(specpars), [&name](
const auto&
i) {
return (
i.first.compare(name) == 0); });
const std::string names[nVars_]
Namespace of DDCMS conversion namespace.
std::vector< const DDSpecPar * > DDSpecParRefs