55 std::vector<GlobalPoint> gc(8,
GlobalPoint(0, 0, 0));
61 const CCGFloat r_far(r_near * ((
p.mag() + 2 *
dz) /
p.mag()));
82 for (
unsigned int i(0);
i != 8; ++
i) {
86 ref = 0.25 * (lc[0] + lc[1] + lc[2] + lc[3]);
90 if (
co.uninitialized()) {
99 const CCGFloat r_far(r_near * ((
p.mag() + 2 *
dz()) /
p.mag()));
136 s <<
"dEta = " << cell.
dEta() <<
", dPhi = " << cell.
dPhi() <<
", dz = " << cell.
dz() << std::endl;
static GlobalPoint etaPhiZ(float eta, float phi, float z)
Basic3DVector & operator=(const Basic3DVector &)=default
Assignment operator.
IdealObliquePrism::Pt3DVec Pt3DVec
std::ostream & operator<<(std::ostream &s, const IdealObliquePrism &cell)
static constexpr uint32_t k_Eta
Global3DPoint GlobalPoint
std::vector< Pt3D > Pt3DVec
__host__ __device__ VT * co
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
static constexpr uint32_t k_dPhi
Cos< T >::type cos(const T &t)
CaloCellGeometry::CCGFloat CCGFloat
static constexpr uint32_t k_Z
void initCorners(CornersVec &) override
T perp() const
Magnitude of transverse component.
~IdealObliquePrism() override
IdealObliquePrism::Pt3D Pt3D
IdealObliquePrism::CCGFloat CCGFloat
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
HepGeom::Point3D< CCGFloat > Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
static constexpr uint32_t k_dEta
IdealObliquePrism & operator=(const IdealObliquePrism &idop)
static constexpr uint32_t k_dZ
const CCGFloat * param() const
CaloCellGeometry::Pt3DVec Pt3DVec