1 #ifndef TruncatedPyramid_h 2 #define TruncatedPyramid_h 5 #include <CLHEP/Geometry/Point3D.h> 6 #include <CLHEP/Geometry/Plane3D.h> 7 #include <CLHEP/Geometry/Vector3D.h> 8 #include <CLHEP/Geometry/Transform3D.h> 27 static constexpr uint32_t
k_Dz = 0;
30 static constexpr uint32_t
k_Phi = 2;
32 static constexpr uint32_t
k_Dy1 = 3;
33 static constexpr uint32_t
k_Dx1 = 4;
35 static constexpr uint32_t
k_Dx2 = 5;
37 static constexpr uint32_t
k_Alp1 = 6;
39 static constexpr uint32_t
k_Dy2 = 7;
40 static constexpr uint32_t
k_Dx3 = 8;
42 static constexpr uint32_t
k_Dx4 = 9;
44 static constexpr uint32_t
k_Alp2 = 10;
74 static void createCorners(
const std::vector<CCGFloat>&
pv,
const Tr3D& tr, std::vector<GlobalPoint>&
co);
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
CaloCellGeometry::Tr3D Tr3D
CCGFloat getPhiAxis() const
static constexpr uint32_t k_Dx4
static constexpr uint32_t k_Alp2
CaloCellGeometry::Pt3D Pt3D
HepGeom::Transform3D Tr3D
std::vector< Pt3D > Pt3DVec
void getTransform(Tr3D &tr, Pt3DVec *lptr) const override
--------— only needed by specific utility; overloaded when needed -—
__host__ __device__ VT * co
static constexpr uint32_t k_Dy2
static constexpr uint32_t k_Phi
std::ostream & operator<<(std::ostream &s, const TruncatedPyramid &cell)
static void localCornersSwap(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
static constexpr uint32_t k_Alp1
CaloCellGeometry::Pt3DVec Pt3DVec
const GlobalVector & axis() const
static constexpr uint32_t k_Dx3
static constexpr uint32_t k_Dx2
TruncatedPyramid & operator=(const TruncatedPyramid &tr)
GlobalVector makeAxis(void)
const GlobalPoint backCtr(void) const
CaloCellGeometry::CCGFloat CCGFloat
void initCorners(CornersVec &) override
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
HepGeom::Point3D< CCGFloat > Pt3D
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
static constexpr uint32_t k_Theta
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
static constexpr uint32_t k_Dy1
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
static constexpr uint32_t k_Dz
~TruncatedPyramid() override
static void localCornersReflection(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
static constexpr uint32_t k_Dx1
CCGFloat getThetaAxis() const