CMS 3D CMS Logo

IdealZPrism.h

Go to the documentation of this file.
00001 #ifndef GEOMETRY_CALOGEOMETRY_IDEALZPRISM_H
00002 #define GEOMETRY_CALOGEOMETRY_IDEALZPRISM_H 1
00003 
00004 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
00005 
00006 namespace calogeom 
00007 {
00029    class IdealZPrism : public CaloCellGeometry 
00030    {
00031       public:
00032 
00033          IdealZPrism( const GlobalPoint& faceCenter , 
00034                       const CornersMgr*  mgr ,
00035                       const float*       parm          )  : 
00036             CaloCellGeometry ( faceCenter, mgr ),
00037             m_parms          ( parm )                        {}
00038 
00039          virtual ~IdealZPrism() {}
00040 
00041          virtual bool inside( const GlobalPoint & point ) const ;
00042 
00043          virtual const CornersVec& getCorners()           const ;
00044 
00045          float dEta() const { return param()[0] ; }
00046          float dPhi() const { return param()[1] ; }
00047          float dz()   const { return param()[2] ; }
00048 
00049       private:
00050 
00051          const float* param() const { return m_parms ; }
00052 
00053          const float*      m_parms ;
00054    };
00055 
00056    std::ostream& operator<<( std::ostream& s , const IdealZPrism& cell ) ;
00057 }
00058 
00059 
00060 #endif

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