83 std::vector<GlobalPoint> gc(8,
GlobalPoint(0, 0, 0));
87 const float z_near(
z);
88 const float z_far(
z * (1 - 2 *
dz /
p.mag()));
98 for (
unsigned int i(0);
i != 8; ++
i) {
102 ref = 0.25 * (lc[0] + lc[1] + lc[2] + lc[3]);
106 if (
co.uninitialized()) {
111 const CCGFloat z_far(z_near + 2 *
dz() *
p.z() / fabs(
p.z()));
119 corners[4] =
GlobalPoint(corners[0].
x(), corners[0].
y(), z_far);
120 corners[5] =
GlobalPoint(corners[1].
x(), corners[1].
y(), z_far);
121 corners[6] =
GlobalPoint(corners[2].
x(), corners[2].
y(), z_far);
122 corners[7] =
GlobalPoint(corners[3].
x(), corners[3].
y(), z_far);
128 s <<
"dEta = " << cell.
dEta() <<
", dPhi = " << cell.
dPhi() <<
", dz = " << cell.
dz() << std::endl;
Basic3DVector & operator=(const Basic3DVector &)=default
Assignment operator.
static constexpr uint32_t k_dEta
CaloCellGeometry::CCGFloat CCGFloat
static GlobalPoint etaPhiZ(float eta, float phi, float z)
Global3DPoint GlobalPoint
IdealZPrism::Pt3DVec Pt3DVec
void initCorners(CornersVec &) override
static constexpr uint32_t k_dZ
static GlobalPoint etaPhiR(float eta, float phi, float rad)
std::vector< Pt3D > Pt3DVec
__host__ __device__ VT * co
IdealZPrism::CCGFloat CCGFloat
std::unique_ptr< IdealZPrism > m_geoForPF
static constexpr uint32_t k_Z
static constexpr uint32_t k_Eta
IdealZPrism & operator=(const IdealZPrism &idzp)
T perp() const
Magnitude of transverse component.
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
static constexpr uint32_t k_dPhi
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
HepGeom::Point3D< CCGFloat > Pt3D
CaloCellGeometry::Pt3D Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
CaloCellGeometry::Pt3DVec Pt3DVec
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
std::shared_ptr< const IdealZPrism > forPF() const
std::ostream & operator<<(std::ostream &s, const IdealZPrism &cell)
const CCGFloat * param() const
Global3DVector GlobalVector