4 #include "Geometry/CaloEventSetup/interface/CaloGeometryLoader.icc"
22 const HepGeom::Transform3D& tr ,
25 std::vector<CCGFloat> vv ;
26 vv.reserve( pv.size() + 1 ) ;
27 for(
unsigned int i ( 0 ) ;
i != pv.size() ; ++
i )
32 const Pt3D cor1 ( vv[0], vv[1], vv[2] ) ;
33 const Pt3D cor2 ( -vv[0], vv[1], vv[2] ) ;
34 const Pt3D cor3 ( vv[0], -vv[1], vv[2] ) ;
46 const CCGFloat zdif ( 0.00001 > fabs( z1 - z2 ) ?
47 ( 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.push_back( tilt ) ;
60 const GlobalPoint refPoint ( ctr.x(), ctr.y(), ctr.z() ) ;
62 geom->
newCell( refPoint, refPoint, refPoint,
std::vector< double > ParmVec
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::CCGFloat CCGFloat
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
void fillNamedParams(DDFilteredView fv, T *geom)
CaloCellGeometry::Pt3D Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
void fillGeom(T *geom, const ParmVec &pv, const HepGeom::Transform3D &tr, const DetId &id)
static const double k_ScaleFromDDDtoGeant
CaloGeometryLoader< EcalPreshowerGeometry > EcalPGL