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
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ix(uint32_t id)
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.
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t iy(uint32_t id)
PreshowerStrip::Pt3DVec Pt3DVec
~PreshowerStrip() override
bool uninitialized() const
const CCGFloat * param() const
PreshowerStrip & operator=(const PreshowerStrip &tr)