![]() |
![]() |
00001 #ifndef Geometry_ForwardGeometry_IdealZDCTrapezoid_H 00002 #define Geometry_ForwardGeometry_IdealZDCTrapezoid_H 1 00003 00004 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" 00005 00006 namespace calogeom { 00023 class IdealZDCTrapezoid: public CaloCellGeometry 00024 { 00025 public: 00026 00027 IdealZDCTrapezoid( const GlobalPoint& faceCenter, 00028 const CornersMgr* mgr , 00029 const float* parm ) : 00030 CaloCellGeometry ( faceCenter, mgr ) , 00031 m_parms ( parm ) {} 00032 00033 virtual ~IdealZDCTrapezoid() {} 00034 00035 virtual bool inside( const GlobalPoint & point ) const; 00036 00037 virtual const CornersVec& getCorners() const; 00038 00039 const float an() const { return param()[0] ; } 00040 const float dx() const { return param()[1] ; } 00041 const float dy() const { return param()[2] ; } 00042 const float dz() const { return param()[3] ; } 00043 00044 private: 00045 00046 const float* param() const { return m_parms ; } 00047 00048 const float* m_parms ; 00049 }; 00050 00051 std::ostream& operator<<( std::ostream& s , const IdealZDCTrapezoid& cell ) ; 00052 } 00053 00054 #endif