13 const HepGeom::Transform3D& tr,
21 #include "Geometry/CaloEventSetup/interface/CaloGeometryLoader.icc"
29 const HepGeom::Transform3D& tr,
31 const double&
scale) {
32 static constexpr uint32_t
maxSize = 11;
33 std::vector<CCGFloat>
pv;
35 unsigned int ioff = (vv.size() >
maxSize) ? (vv.size() -
maxSize) : 0;
37 for (
unsigned int i(0);
i !=
size; ++
i) {
42 std::vector<GlobalPoint> corners(8);
48 const GlobalPoint front(0.25 * (corners[0].
x() + corners[1].
x() + corners[2].
x() + corners[3].
x()),
49 0.25 * (corners[0].
y() + corners[1].
y() + corners[2].
y() + corners[3].
y()),
50 0.25 * (corners[0].
z() + corners[1].
z() + corners[2].
z() + corners[3].
z()));
52 const GlobalPoint back(0.25 * (corners[4].
x() + corners[5].
x() + corners[6].
x() + corners[7].
x()),
53 0.25 * (corners[4].
y() + corners[5].
y() + corners[6].
y() + corners[7].
y()),
54 0.25 * (corners[4].
z() + corners[5].
z() + corners[6].
z() + corners[7].
z()));
56 geom->newCell(front, back, corners[0], parmPtr,
id);
70 const std::vector<double>& fvec = valnPhi.doubles();
74 geom->setNumXtalsPhiDirection(static_cast<int>(fvec[0]));
80 const std::vector<double>& fmvec = valnEta.doubles();
85 geom->setNumXtalsEtaDirection(static_cast<int>(fmvec[0]));
93 const std::vector<double>& ebvec = valEtaB.doubles();
95 std::vector<int> EtaBaskets;
96 EtaBaskets.reserve(ebvec.size());
97 for (
const auto& ebv : ebvec)
98 EtaBaskets.emplace_back(static_cast<int>(ebv));
99 geom->setEtaBaskets(EtaBaskets);
107 const std::vector<double>& pvec = valPhi.doubles();
109 geom->setBasketSizeInPhi(static_cast<int>(pvec[0]));
125 std::vector<double> tempD = fv.
get<std::vector<double> >(specName,
"nxtalEta");
126 assert(tempD.size() == 1);
127 geom->setNumXtalsEtaDirection(static_cast<int>(tempD[0]));
130 tempD = fv.
get<std::vector<double> >(specName,
"nxtalPhi");
131 assert(tempD.size() == 1);
132 geom->setNumXtalsPhiDirection(static_cast<int>(tempD[0]));
135 tempD = fv.
get<std::vector<double> >(specName,
"EtaBaskets");
140 tempD = fv.
get<std::vector<double> >(specName,
"PhiBaskets");
142 geom->setBasketSizeInPhi(static_cast<int>(tempD[0]));