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>
57 std::vector<GlobalPoint>& co ) ;
61 Pt3D& ref )
const override;
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
CaloCellGeometry::Tr3D Tr3D
CaloCellGeometry::Pt3D Pt3D
HepGeom::Transform3D Tr3D
std::vector< Pt3D > Pt3DVec
CCGFloat getPhiAxis() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
virtual void getTransform(Tr3D &tr, Pt3DVec *lptr) const override
--------— only needed by specific utility; overloaded when needed -—
virtual ~TruncatedPyramid()
static void localCornersSwap(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
CaloCellGeometry::Pt3DVec Pt3DVec
CCGFloat getThetaAxis() const
TruncatedPyramid & operator=(const TruncatedPyramid &tr)
GlobalVector makeAxis(void)
CaloCellGeometry::CCGFloat CCGFloat
virtual void initCorners(CornersVec &) override
virtual void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
HepGeom::Point3D< CCGFloat > Pt3D
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
const GlobalVector & axis() const
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
const GlobalPoint backCtr(void) const
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
static void localCornersReflection(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)