93 z*sinf(phi)/sinhf(eta) ,
101 assert( 8 == lc.size() ) ;
110 std::vector<GlobalPoint> gc ( 8,
GlobalPoint(0,0,0) ) ;
118 gc[ 0 ] =
etaPhiPerp( eta + dEta , +dPhi , r_near ) ;
119 gc[ 1 ] =
etaPhiPerp( eta + dEta , -dPhi , r_near ) ;
120 gc[ 2 ] =
etaPhiPerp( eta - dEta , -dPhi , r_near ) ;
121 gc[ 3 ] =
etaPhiPerp( eta - dEta , +dPhi , r_near ) ;
122 gc[ 4 ] =
etaPhiPerp( eta + dEta , +dPhi , r_far ) ;
123 gc[ 5 ] =
etaPhiPerp( eta + dEta , -dPhi , r_far ) ;
124 gc[ 6 ] =
etaPhiPerp( eta - dEta , -dPhi , r_far ) ;
125 gc[ 7 ] =
etaPhiPerp( eta - dEta , +dPhi , r_far ) ;
131 gc[ 0 ] =
etaPhiZ( eta + dEta , +dPhi , z_near ) ;
132 gc[ 1 ] =
etaPhiZ( eta + dEta , -dPhi , z_near ) ;
133 gc[ 2 ] =
etaPhiZ( eta - dEta , -dPhi , z_near ) ;
134 gc[ 3 ] =
etaPhiZ( eta - dEta , +dPhi , z_near ) ;
135 gc[ 4 ] =
etaPhiZ( eta + dEta , +dPhi , z_far ) ;
136 gc[ 5 ] =
etaPhiZ( eta + dEta , -dPhi , z_far ) ;
137 gc[ 6 ] =
etaPhiZ( eta - dEta , -dPhi , z_far ) ;
138 gc[ 7 ] =
etaPhiZ( eta - dEta , +dPhi , z_far ) ;
140 for(
unsigned int i ( 0 ) ;
i != 8 ; ++
i )
145 ref = 0.25*( lc[0] + lc[1] + lc[2] + lc[3] ) ;
204 s <<
"Center: " << cell.
getPosition() << std::endl ;
205 s <<
"dEta = " << cell.
dEta() <<
", dPhi = " << cell.
dPhi() <<
", dz = " << cell.
dz() << std::endl ;
static GlobalPoint etaPhiZ(float eta, float phi, float z)
virtual void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Geom::Phi< T > phi() const
Global3DPoint GlobalPoint
std::vector< Pt3D > Pt3DVec
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
const CCGFloat * param() const
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Cos< T >::type cos(const T &t)
virtual ~IdealObliquePrism()
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::Pt3D Pt3D
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
virtual const CornersVec & getCorners() const
Returns the corner points of this cell's volume.
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
T perp() const
Magnitude of transverse component.
CornersVec & setCorners() const
bool uninitialized() const
IdealObliquePrism & operator=(const IdealObliquePrism &idop)
CaloCellGeometry::Pt3DVec Pt3DVec
virtual const CornersVec & getCorners() const =0
Returns the corner points of this cell's volume.
CaloCellGeometry & operator=(const CaloCellGeometry &cell)