CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IdealZDCTrapezoid.h
Go to the documentation of this file.
1 #ifndef Geometry_ForwardGeometry_IdealZDCTrapezoid_H
2 #define Geometry_ForwardGeometry_IdealZDCTrapezoid_H 1
3 
5 
6 namespace calogeom {
24  {
25  public:
26 
27  IdealZDCTrapezoid( const GlobalPoint& faceCenter,
28  const CornersMgr* mgr ,
29  const double* parm ) :
30  CaloCellGeometry ( faceCenter, mgr, parm ) {}
31 
32  virtual ~IdealZDCTrapezoid() {}
33 
34  virtual const CornersVec& getCorners() const;
35 
36  const double an() const { return param()[0] ; }
37  const double dx() const { return param()[1] ; }
38  const double dy() const { return param()[2] ; }
39  const double dz() const { return param()[3] ; }
40  const double ta() const { return tan( an() ) ; }
41  const double dt() const { return dy()*ta() ; }
42 
43  virtual std::vector<HepGeom::Point3D<double> > vocalCorners( const double* pv,
44  HepGeom::Point3D<double> & ref ) const
45  { return localCorners( pv, ref ) ; }
46 
47  static std::vector<HepGeom::Point3D<double> > localCorners( const double* pv,
48  HepGeom::Point3D<double> & ref ) ;
49 
50  private:
51  };
52 
53  std::ostream& operator<<( std::ostream& s , const IdealZDCTrapezoid& cell ) ;
54 }
55 
56 #endif
EZArrayFL< GlobalPoint > CornersVec
virtual std::vector< HepGeom::Point3D< double > > vocalCorners(const double *pv, HepGeom::Point3D< double > &ref) const
IdealZDCTrapezoid(const GlobalPoint &faceCenter, const CornersMgr *mgr, const double *parm)
const double an() const
const double * param() const
const double dz() const
virtual const CornersVec & getCorners() const
const double ta() const
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
static std::vector< HepGeom::Point3D< double > > localCorners(const double *pv, HepGeom::Point3D< double > &ref)
const double dx() const
Definition: EZMgrFL.h:8
std::ostream & operator<<(std::ostream &s, const IdealObliquePrism &cell)
string s
Definition: asciidump.py:422
const double dt() const
const double dy() const