28 CaloCellGeometry::operator=( tr ) ;
43 const double st (
sin(
tilt()) ) ;
44 const double ct (
cos(
tilt()) ) ;
46 for(
unsigned int ix ( 0 ) ; ix !=2 ; ++ix )
48 const double sx ( 0 == ix ? -1.0 : +1.0 ) ;
49 for(
unsigned int iy ( 0 ) ; iy !=2 ; ++iy )
51 const double sy ( 0 == iy ? -1.0 : +1.0 ) ;
52 for(
unsigned int iz ( 0 ) ; iz !=2 ; ++iz )
54 const double sz ( 0 == iz ? -1.0 : +1.0 ) ;
55 const unsigned int i ( 4*iz + 2*ix +
56 ( 1 == ix ? 1-iy : iy ) ) ;
61 x + sx*
dx()*ct - sz*
dz()*st ,
64 y + sy*
dy()*ct - sz*
dz()*st ,
66 z + sz*
dz()*ct + sy*
dy()*st :
67 z + sz*
dz()*ct + sx*
dx()*st ) ;
76 s <<
"Center: " << cell.
getPosition() << std::endl ;
77 if( cell.
param() != 0 )
79 s <<
"dx = " << cell.
dx() <<
", dy = " << cell.
dy() <<
", dz = " << cell.
dz() << std::endl ;
82 for(
unsigned int ci ( 0 ) ; ci != corners.size(); ci++ )
84 s <<
"Corner: " << corners[ci] << std::endl;
89 s <<
" with empty parameters." << std::endl;
100 assert( 8 == lc.size() ) ;
107 lc[0] =
Pt3D( -dx, -dy, -dz ) ;
108 lc[1] =
Pt3D( -dx, dy, -dz ) ;
109 lc[2] =
Pt3D( dx, dy, -dz ) ;
110 lc[3] =
Pt3D( dx, -dy, -dz ) ;
111 lc[4] =
Pt3D( -dx, -dy, dz ) ;
112 lc[5] =
Pt3D( -dx, dy, dz ) ;
113 lc[6] =
Pt3D( dx, dy, dz ) ;
114 lc[7] =
Pt3D( dx, -dy, dz ) ;
CaloCellGeometry::Pt3DVec Pt3DVec
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
CaloCellGeometry::Tr3D Tr3D
Sin< T >::type sin(const T &t)
CaloCellGeometry::Pt3D Pt3D
Global3DPoint GlobalPoint
CaloCellGeometry::CCGFloat CCGFloat
std::vector< Pt3D > Pt3DVec
virtual void initCorners(CaloCellGeometry::CornersVec &) override
A base class to handle the shape of preshower strips.
PreshowerStrip::Pt3D Pt3D
const CCGFloat * param() const
Cos< T >::type cos(const T &t)
std::ostream & operator<<(std::ostream &s, const PreshowerStrip &cell)
PreshowerStrip::Tr3D Tr3D
PreshowerStrip::CCGFloat CCGFloat
virtual ~PreshowerStrip()
HepGeom::Point3D< CCGFloat > Pt3D
CornersVec const & getCorners() const
Returns the corner points of this cell's volume.
bool uninitialized() const
PreshowerStrip::Pt3DVec Pt3DVec
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
PreshowerStrip & operator=(const PreshowerStrip &tr)