21 if (ori.
z()<0) zcorr = -zcorr;
36 CaloCellGeometry::operator=( idzp ) ;
97 rad*sinf( phi )/coshf( eta ) ,
117 z*sinf( phi )/sinhf( eta ) ,
126 assert( 8 == lc.size() ) ;
127 assert(
nullptr != pv ) ;
135 std::vector<GlobalPoint> gc ( 8,
GlobalPoint(0,0,0) ) ;
139 const float z_near ( z ) ;
140 const float z_far ( z*( 1 - 2*dz/p.
mag() ) ) ;
141 gc[ 0 ] =
etaPhiZ( eta + dEta , +dPhi , z_near ) ;
142 gc[ 1 ] =
etaPhiZ( eta + dEta , -dPhi , z_near ) ;
143 gc[ 2 ] =
etaPhiZ( eta - dEta , -dPhi , z_near ) ;
144 gc[ 3 ] =
etaPhiZ( eta - dEta , +dPhi , z_near ) ;
150 for(
unsigned int i ( 0 ) ;
i != 8 ; ++
i )
155 ref = 0.25*( lc[0] + lc[1] + lc[2] + lc[3] ) ;
167 const CCGFloat z_far ( z_near + 2*
dz()*p.
z()/fabs( p.
z() ) ) ;
175 corners[ 4 ] =
GlobalPoint( corners[0].
x(), corners[0].
y(), z_far );
176 corners[ 5 ] =
GlobalPoint( corners[1].
x(), corners[1].
y(), z_far );
177 corners[ 6 ] =
GlobalPoint( corners[2].
x(), corners[2].
y(), z_far );
178 corners[ 7 ] =
GlobalPoint( corners[3].
x(), corners[3].
y(), z_far );
184 s <<
"Center: " << cell.
getPosition() << std::endl ;
185 s <<
"dEta = " << cell.
dEta() <<
", dPhi = " << cell.
dPhi() <<
", dz = " << cell.
dz() << std::endl ;
CaloCellGeometry::CCGFloat CCGFloat
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
static GlobalPoint etaPhiZ(float eta, float phi, float z)
Geom::Phi< T > phi() const
Global3DPoint GlobalPoint
IdealZPrism::Pt3DVec Pt3DVec
void initCorners(CornersVec &) override
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
std::shared_ptr< const IdealZPrism > forPF() const
static GlobalPoint etaPhiR(float eta, float phi, float rad)
std::vector< Pt3D > Pt3DVec
IdealZPrism::CCGFloat CCGFloat
const CCGFloat * param() const
std::unique_ptr< IdealZPrism > m_geoForPF
IdealZPrism & operator=(const IdealZPrism &idzp)
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
HepGeom::Point3D< CCGFloat > Pt3D
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::Pt3DVec Pt3DVec
T perp() const
Magnitude of transverse component.
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
bool uninitialized() const
std::ostream & operator<<(std::ostream &s, const IdealZPrism &cell)
Global3DVector GlobalVector