21 if( &idop !=
this ) CaloCellGeometry::operator=( idop ) ;
84 z*sinf(phi)/sinhf(eta) ,
92 assert( 8 == lc.size() ) ;
93 assert(
nullptr != pv ) ;
101 std::vector<GlobalPoint> gc ( 8,
GlobalPoint(0,0,0) ) ;
109 gc[ 0 ] =
etaPhiPerp( eta + dEta , +dPhi , r_near ) ;
110 gc[ 1 ] =
etaPhiPerp( eta + dEta , -dPhi , r_near ) ;
111 gc[ 2 ] =
etaPhiPerp( eta - dEta , -dPhi , r_near ) ;
112 gc[ 3 ] =
etaPhiPerp( eta - dEta , +dPhi , r_near ) ;
113 gc[ 4 ] =
etaPhiPerp( eta + dEta , +dPhi , r_far ) ;
114 gc[ 5 ] =
etaPhiPerp( eta + dEta , -dPhi , r_far ) ;
115 gc[ 6 ] =
etaPhiPerp( eta - dEta , -dPhi , r_far ) ;
116 gc[ 7 ] =
etaPhiPerp( eta - dEta , +dPhi , r_far ) ;
122 gc[ 0 ] =
etaPhiZ( eta + dEta , +dPhi , z_near ) ;
123 gc[ 1 ] =
etaPhiZ( eta + dEta , -dPhi , z_near ) ;
124 gc[ 2 ] =
etaPhiZ( eta - dEta , -dPhi , z_near ) ;
125 gc[ 3 ] =
etaPhiZ( eta - dEta , +dPhi , z_near ) ;
126 gc[ 4 ] =
etaPhiZ( eta + dEta , +dPhi , z_far ) ;
127 gc[ 5 ] =
etaPhiZ( eta + dEta , -dPhi , z_far ) ;
128 gc[ 6 ] =
etaPhiZ( eta - dEta , -dPhi , z_far ) ;
129 gc[ 7 ] =
etaPhiZ( eta - dEta , +dPhi , z_far ) ;
131 for(
unsigned int i ( 0 ) ;
i != 8 ; ++
i )
136 ref = 0.25*( lc[0] + lc[1] + lc[2] + lc[3] ) ;
192 s <<
"Center: " << cell.
getPosition() << std::endl ;
193 s <<
"dEta = " << cell.
dEta() <<
", dPhi = " << cell.
dPhi() <<
", dz = " << cell.
dz() << std::endl ;
static GlobalPoint etaPhiZ(float eta, float phi, float z)
IdealObliquePrism::Pt3DVec Pt3DVec
std::ostream & operator<<(std::ostream &s, const IdealObliquePrism &cell)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
Geom::Phi< T > phi() const
Global3DPoint GlobalPoint
std::vector< Pt3D > Pt3DVec
const CCGFloat * param() const
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Cos< T >::type cos(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
void initCorners(CornersVec &) override
~IdealObliquePrism() override
IdealObliquePrism::Pt3D Pt3D
IdealObliquePrism::CCGFloat CCGFloat
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
HepGeom::Point3D< CCGFloat > Pt3D
T perp() const
Magnitude of transverse component.
bool uninitialized() const
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
IdealObliquePrism & operator=(const IdealObliquePrism &idop)
CaloCellGeometry::Pt3DVec Pt3DVec