11 const HepGeom::Transform3D& tr ,
18 #include "Geometry/CaloEventSetup/interface/CaloGeometryLoader.icc"
28 const HepGeom::Transform3D& tr ,
31 std::vector<CCGFloat> vv ;
32 vv.reserve( pv.size() + 1 ) ;
33 for(
unsigned int i ( 0 ) ;
i != pv.size() ; ++
i )
38 const Pt3D cor1 ( vv[0], vv[1], vv[2] ) ;
39 const Pt3D cor2 ( -vv[0], vv[1], vv[2] ) ;
40 const Pt3D cor3 ( vv[0], -vv[1], vv[2] ) ;
52 const CCGFloat zdif ( 0.00001 > fabs( z1 - z2 ) ?
53 ( y1>0 ? +1.0 : -1.0 )*( z1 - z3 ) :
54 ( x1>0 ? +1.0 : -1.0 )*( z1 - z2 ) ) ;
56 const CCGFloat tilt ( asin( 0.5*zdif/( vv[1]>vv[0] ? vv[1] : vv[0] ) ) ) ;
58 vv.push_back( tilt ) ;
66 const GlobalPoint refPoint ( ctr.x(), ctr.y(), ctr.z() ) ;
68 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)
CaloCellGeometry::Pt3D Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
void fillGeom(T *geom, const ParmVec &pv, const HepGeom::Transform3D &tr, const DetId &id)
void fillNamedParams(const DDFilteredView &fv, T *geom)
static const double k_ScaleFromDDDtoGeant
CaloGeometryLoader< EcalPreshowerGeometry > EcalPGL