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));
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;
CaloCellGeometry::Pt3DVec Pt3DVec
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Basic3DVector & operator=(const Basic3DVector &)=default
Assignment operator.
CaloCellGeometry::Tr3D Tr3D
Sin< T >::type sin(const T &t)
CaloCellGeometry::Pt3D Pt3D
Global3DPoint GlobalPoint
CaloCellGeometry::CCGFloat CCGFloat
std::vector< Pt3D > Pt3DVec
void initCorners(CaloCellGeometry::CornersVec &) override
A base class to handle the shape of preshower strips.
PreshowerStrip::Pt3D Pt3D
Cos< T >::type cos(const T &t)
std::ostream & operator<<(std::ostream &s, const PreshowerStrip &cell)
PreshowerStrip::Tr3D Tr3D
PreshowerStrip::CCGFloat CCGFloat
HepGeom::Point3D< CCGFloat > Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
CornersVec const & getCorners() const
Returns the corner points of this cell's volume.
PreshowerStrip::Pt3DVec Pt3DVec
~PreshowerStrip() override
bool uninitialized() const
const CCGFloat * param() const
PreshowerStrip & operator=(const PreshowerStrip &tr)