17 CaloCellGeometry::operator=(tr);
32 for (
unsigned int ix(0); ix != 2; ++ix) {
33 const double sx(0 == ix ? -1.0 : +1.0);
34 for (
unsigned int iy(0); iy != 2; ++iy) {
35 const double sy(0 == iy ? -1.0 : +1.0);
36 for (
unsigned int iz(0); iz != 2; ++iz) {
37 const double sz(0 == iz ? -1.0 : +1.0);
38 const unsigned int i(4 * iz + 2 * ix + (1 == ix ? 1 - iy : iy));
42 dy() <
dx() ?
y + sy *
dy() :
y + sy *
dy() * ct - sz *
dz() * st,
43 dy() >
dx() ?
z + sz *
dz() * ct + sy *
dy() * st :
z + sz *
dz() * ct + sx *
dx() * st);
52 if (cell.
param() !=
nullptr) {
53 s <<
"dx = " << cell.
dx() <<
", dy = " << cell.
dy() <<
", dz = " << cell.
dz() << std::endl;
56 for (
unsigned int ci(0); ci != corners.size(); ci++) {
57 s <<
"Corner: " << corners[ci] << std::endl;
60 s <<
" with empty parameters." << std::endl;
74 lc[0] =
Pt3D(-dx, -dy, -dz);
75 lc[1] =
Pt3D(-dx, dy, -dz);
76 lc[2] =
Pt3D(dx, dy, -dz);
77 lc[3] =
Pt3D(dx, -dy, -dz);
78 lc[4] =
Pt3D(-dx, -dy, dz);
79 lc[5] =
Pt3D(-dx, dy, dz);
80 lc[6] =
Pt3D(dx, dy, dz);
81 lc[7] =
Pt3D(dx, -dy, dz);
CaloCellGeometry::Pt3DVec Pt3DVec
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
CaloCellGeometry::Tr3D Tr3D
Sin< T >::type sin(const T &t)
CaloCellGeometry::Pt3D Pt3D
Global3DPoint GlobalPoint
CaloCellGeometry::CCGFloat CCGFloat
std::vector< Pt3D > Pt3DVec
std::ostream & operator<<(std::ostream &out, const ALILine &li)
void initCorners(CaloCellGeometry::CornersVec &) override
A base class to handle the shape of preshower strips.
const CCGFloat * param() const
Cos< T >::type cos(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
CornersVec const & getCorners() const
Returns the corner points of this cell's volume.
CaloCellGeometry::Tr3D Tr3D
bool uninitialized() const
~PreshowerStrip() override
PreshowerStrip & operator=(const PreshowerStrip &tr)