11 const HepGeom::Transform3D& tr,
19 #include "Geometry/CaloEventSetup/interface/CaloGeometryLoader.icc" 27 const HepGeom::Transform3D& tr,
29 const double&
scale) {
30 static constexpr uint32_t
maxSize = 11;
31 std::vector<CCGFloat>
pv;
33 unsigned int ioff = (vv.size() >
maxSize) ? (vv.size() -
maxSize) : 0;
35 for (
unsigned int i(0);
i !=
size; ++
i) {
40 std::vector<GlobalPoint> corners(8);
46 const GlobalPoint front(0.25 * (corners[0].
x() + corners[1].
x() + corners[2].
x() + corners[3].
x()),
47 0.25 * (corners[0].
y() + corners[1].
y() + corners[2].
y() + corners[3].
y()),
48 0.25 * (corners[0].
z() + corners[1].
z() + corners[2].
z() + corners[3].
z()));
50 const GlobalPoint back(0.25 * (corners[4].
x() + corners[5].
x() + corners[6].
x() + corners[7].
x()),
51 0.25 * (corners[4].
y() + corners[5].
y() + corners[6].
y() + corners[7].
y()),
52 0.25 * (corners[4].
z() + corners[5].
z() + corners[6].
z() + corners[7].
z()));
54 geom->newCell(front, back, corners[0], parmPtr,
id);
67 const std::vector<double>& fvec = valNcrys.doubles();
71 geom->setNumberOfCrystalPerModule(static_cast<int>(fvec[0]));
78 const std::vector<double>& fmvec = valNmods.doubles();
82 geom->setNumberOfModules(static_cast<int>(fmvec[0]));
96 std::vector<double> tempD = fv.
get<std::vector<double> >(specName,
"ncrys");
98 geom->setNumberOfCrystalPerModule(static_cast<int>(tempD[0]));
101 tempD = fv.
get<std::vector<double> >(specName,
"nmods");
102 assert(tempD.size() == 1);
103 geom->setNumberOfModules(static_cast<int>(tempD[0]));
bool nextSibling()
set the current node to the next sibling ...
CaloCellGeometry::CCGFloat CCGFloat
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
void fillGeom(T *geom, const ParmVec &pv, const HepGeom::Transform3D &tr, const DetId &id, const double &scale)
std::vector< double > ParmVec
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
CaloCellGeometry::CCGFloat CCGFloat
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
DDsvalues_type mergedSpecifics() const
T get(const std::string &)
extract attribute value
void fillNamedParams(const DDFilteredView &fv, T *geom)
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
bool firstChild()
set the current node to the first child ...
CaloGeometryLoader< EcalEndcapGeometry > EcalEGL