15 edm::LogVerbatim(
"EcalGeom") <<
"EcalSimParametersFromDD: " << vec.size() <<
" entries for " <<
value <<
":";
17 for (
const auto&
e : vec) {
26 <<
"Inside EcalSimParametersFromDD::build(const DDCompactView*, const std::string&, EcalSimulationParameters&)";
46 php.
nxtalEta_ = static_cast<int>(tempD[0]);
51 php.
nxtalPhi_ = static_cast<int>(tempD[0]);
62 php.
ncrys_ = static_cast<int>(tempD[0]);
67 php.
nmods_ = static_cast<int>(tempD[0]);
86 const std::vector<double>& paras = sol.
parameters();
99 edm::LogVerbatim(
"EcalGeom") <<
"Inside EcalSimParametersFromDD::build(const cms::DDCompactView*, const std::string, "
100 "EcalSimulationParameters&)";
107 std::string specName = ((
name ==
"EcalHitsEE") ?
"ecal_ee" : ((
name ==
"EcalHitsES") ?
"ecal_sf" :
"ecal_eb"));
110 std::vector<double> tempD = fv.get<std::vector<double> >(specName,
"EnergyWeight");
111 if (!tempD.empty()) {
115 tempD = fv.get<std::vector<double> >(specName,
"nxtalEta");
119 php.
nxtalEta_ = static_cast<int>(tempD[0]);
120 tempD = fv.get<std::vector<double> >(specName,
"nxtalPhi");
124 php.
nxtalPhi_ = static_cast<int>(tempD[0]);
125 tempD = fv.get<std::vector<double> >(specName,
"PhiBaskets");
131 tempD = fv.get<std::vector<double> >(specName,
"ncrys");
135 php.
ncrys_ = static_cast<int>(tempD[0]);
136 tempD = fv.get<std::vector<double> >(specName,
"nmods");
140 php.
nmods_ = static_cast<int>(tempD[0]);
142 std::vector<std::string> tempS = fv.get<std::vector<std::string> >(specName,
"Depth1Name");
147 tempS = fv.get<std::vector<std::string> >(specName,
"Depth2Name");
156 mypar.filter(refs, attribute,
name);
157 fv.mergedSpecifics(refs);
158 while (fv.firstChild()) {
160 const std::string matName{dd4hep::dd::noNamespace(fv.materialName()).
data(),
161 dd4hep::dd::noNamespace(fv.materialName()).
size()};
165 const std::vector<double>& paras = fv.parameters();
166 double dz = (dd4hep::isA<dd4hep::Trap>(fv.solid())) ? ((2.0 * paras[0]) / dd4hep::mm) : 0.0;
167 php.
dzs_.emplace_back(
dz);
182 << php.
matNames_.size() <<
" matNames and " << php.
dzs_.size() <<
"dzs";
197 const std::vector<double>& fvec =
value.doubles();
200 std::vector<double> fvec;
207 edm::LogVerbatim(
"EcalGeom") <<
"EcalSimParametersFromDD:getStringArray called for " <<
str;
214 const std::vector<std::string>& fvec =
value.strings();
217 std::vector<std::string> fvec;