10 const HepGeom::Transform3D& tr,
18 #include "Geometry/CaloEventSetup/interface/CaloGeometryLoader.icc" 27 const HepGeom::Transform3D& tr,
29 const double&
scale) {
30 std::vector<CCGFloat> vv;
31 vv.reserve(
pv.size() + 1);
32 for (
unsigned int i(0);
i !=
pv.size(); ++
i) {
36 const Pt3D cor1(vv[0], vv[1], vv[2]);
37 const Pt3D cor2(-vv[0], vv[1], vv[2]);
38 const Pt3D cor3(vv[0], -vv[1], vv[2]);
47 const CCGFloat zdif(0.00001 > fabs(z1 -
z2) ? (
y1 > 0 ? +1.0 : -1.0) * (z1 - z3)
48 : (
x1 > 0 ? +1.0 : -1.0) * (z1 -
z2));
50 const CCGFloat tilt(asin(0.5 * zdif / (vv[1] > vv[0] ? vv[1] : vv[0])));
52 vv.emplace_back(tilt);
60 geom->newCell(refPoint, refPoint, refPoint, pP,
id);
void fillGeom(T *geom, const ParmVec &pv, const HepGeom::Transform3D &tr, const DetId &id, const double &scale)
std::vector< double > ParmVec
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::CCGFloat CCGFloat
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
CaloGeometryLoader< EcalPreshowerGeometry > EcalPGL
CaloCellGeometry::Pt3D Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
void fillNamedParams(const DDFilteredView &fv, T *geom)
CaloCellGeometry::CCGFloat CCGFloat