3 #include <DD4hep/Filter.h> 9 std::vector<int> cms::DDCompactView::getVector<int>(
const std::string&
key)
const {
11 const auto& vmap = this->
detector()->vectors();
12 for (
auto const& it : vmap) {
13 if (dd4hep::dd::noNamespace(it.first) ==
key) {
15 it.second.begin(), it.second.end(), std::back_inserter(
result), [](
int n) ->
int {
return (
int)
n; });
23 std::vector<double> cms::DDCompactView::getVector<double>(
const std::string&
key)
const {
24 const auto& vmap = this->
detector()->vectors();
25 for (
auto const& it : vmap) {
26 if (dd4hep::dd::noNamespace(it.first) ==
key) {
30 return std::vector<double>();
34 std::vector<double>
const& cms::DDCompactView::get<std::vector<double>>(
const std::string&
key)
const {
35 const auto& vmap = this->
detector()->vectors();
36 for (
auto const& it : vmap) {
37 if (dd4hep::dd::noNamespace(it.first) ==
key) {
45 std::vector<double>
const& cms::DDCompactView::get<std::vector<double>>(
const std::string&
name,
47 const auto& spec = specpars().specPar(
name);
48 if (spec !=
nullptr) {
49 auto const& nitem = spec->numpars.find(
key);
50 if (nitem !=
end(spec->numpars)) {
54 throw cms::Exception(
"DDError") <<
"no SpecPar with name " <<
name <<
" and vector<double> key " <<
key;