59 ref = 0.25 * (lc[0] + lc[1] + lc[2] + lc[3]);
65 const CCGFloat zsign(0 <
p.z() ? 1. : -1.);
71 const Pt3D lb(lf.x(), lf.y(), lf.z() - 2. *
dz());
72 const Pt3D ls(lf.x() -
dx(), lf.y(), lf.z());
74 const Pt3D gb(
gf.x(),
gf.y(),
gf.z() + 2. * zsign *
dz());
78 const HepGeom::Transform3D tr(lf, lb,
ls,
gf, gb,
gs);
80 for (
unsigned int i(0);
i != 8; ++
i) {
81 const Pt3D gl(tr * lc[
i]);
89 s <<
"TiltAngle = " << cell.
an() * 180. /
M_PI <<
" deg, dx = " << cell.
dx() <<
", dy = " << cell.
dy()
90 <<
", dz = " << cell.
dz() << std::endl;
CaloCellGeometry::CCGFloat CCGFloat
Global3DPoint GlobalPoint
void initCorners(CaloCellGeometry::CornersVec &) override
std::vector< Pt3D > Pt3DVec
std::ostream & operator<<(std::ostream &s, const IdealZDCTrapezoid &cell)
IdealZDCTrapezoid & operator=(const IdealZDCTrapezoid &idzt)
CaloCellGeometry & operator=(CaloCellGeometry &&)=default
Tan< T >::type tan(const T &t)
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
HepGeom::Point3D< CCGFloat > Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
~IdealZDCTrapezoid() override
CaloCellGeometry::Pt3DVec Pt3DVec
CaloCellGeometry::Pt3D Pt3D
bool uninitialized() const
const CCGFloat * param() const