CMS 3D CMS Logo

IdealZDCTrapezoid.h

Go to the documentation of this file.
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

Generated on Tue Jun 9 17:37:29 2009 for CMSSW by  doxygen 1.5.4