1 #ifndef GeometryCaloGeometryFlatHexagon_h 2 #define GeometryCaloGeometryFlatHexagon_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> 38 const CCGFloat* parV ) ;
41 const CCGFloat* par ) ;
61 Pt3D& ref )
const override;
67 std::vector<GlobalPoint>& co ) ;
73 void getTransform( Tr3D& tr, Pt3DVec* lptr )
const override;
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
void setRefPoint(const GlobalPoint &pos)
Geom::Phi< T > phi() const
GlobalVector makeAxis(void)
CaloCellGeometry::Tr3D Tr3D
HepGeom::Transform3D Tr3D
std::ostream & operator<<(std::ostream &s, const FlatHexagon &cell)
std::vector< Pt3D > Pt3DVec
const GlobalVector & axis() const
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
static constexpr unsigned int ncorner_
CaloCellGeometry::Pt3D Pt3D
void setPosition(const GlobalPoint &p)
CaloCellGeometry::CCGFloat CCGFloat
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
virtual float phiPos() const
void getTransform(Tr3D &tr, Pt3DVec *lptr) const override
--------— only needed by specific utility; overloaded when needed -—
FlatHexagon & operator=(const FlatHexagon &tr)
A base class to handle the hexagonal shape of HGCal silicon volumes.
GlobalPoint const & getPosition() const override
Returns the position of reference for this cell.
CaloCellGeometry::Pt3DVec Pt3DVec
Pt3D getLocal(const GlobalPoint &global) const
void initCorners(CornersVec &) override
virtual float etaPos() const
static constexpr unsigned int ncornerBy2_
CCGFloat getPhiAxis() const
HepGeom::Point3D< CCGFloat > Pt3D
GlobalPoint backCtr(void) const
static constexpr double oneBySix_
CCGFloat getThetaAxis() const