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>
35 const double* parV ) :
72 const HepGeom::Transform3D& tr ,
75 virtual std::vector<HepGeom::Point3D<double> >
vocalCorners(
const double* pv,
76 HepGeom::Point3D<double> & ref )
const
79 static std::vector<HepGeom::Point3D<double> >
localCorners(
const double* pv,
80 HepGeom::Point3D<double> & ref ) ;
82 HepGeom::Point3D<double> & ref ) ;
84 static std::vector<HepGeom::Point3D<double> >
localCornersSwap(
const double* pv,
85 HepGeom::Point3D<double> & ref ) ;
87 virtual HepGeom::Transform3D
getTransform( std::vector<HepGeom::Point3D<double> >* lptr )
const ;
const GlobalPoint backCtr() const
EZArrayFL< GlobalPoint > CornersVec
static std::vector< HepGeom::Point3D< double > > localCornersSwap(const double *pv, HepGeom::Point3D< double > &ref)
TruncatedPyramid(const CornersMgr *cMgr, const GlobalPoint &fCtr, const GlobalPoint &bCtr, const GlobalPoint &cor1, const double *parV)
static std::vector< HepGeom::Point3D< double > > localCornersReflection(const double *pv, HepGeom::Point3D< double > &ref)
Geom::Phi< T > phi() const
Global3DPoint GlobalPoint
static void createCorners(const std::vector< double > &pv, const HepGeom::Transform3D &tr, CornersVec &co)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
const GlobalVector & axis() const
Geom::Theta< T > theta() const
TruncatedPyramid(const CornersVec &corn, const double *par)
virtual HepGeom::Transform3D getTransform(std::vector< HepGeom::Point3D< double > > *lptr) const
const GlobalPoint getPosition(float depth) const
HepGeom::Point3D< double > * m_corOne
Vector3DBase unit() const
virtual const CornersVec & getCorners() const
A base class to handle the particular shape of Ecal Xtals. Taken from ORCA Calorimetry Code...
virtual ~TruncatedPyramid()
std::vector< HepGeom::Plane3D< double > > BoundaryVec
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, HepGeom::Point3D< double > &ref)
virtual std::vector< HepGeom::Point3D< double > > vocalCorners(const double *pv, HepGeom::Point3D< double > &ref) const
const GlobalPoint & getPosition() const
float getThetaAxis() const
Global3DVector GlobalVector
const double par[8 *NPar][4]