00001 #ifndef PreshowerStrip_h 00002 #define PreshowerStrip_h 00003 00004 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" 00005 #include <CLHEP/Geometry/Point3D.h> 00006 #include <CLHEP/Geometry/Plane3D.h> 00007 #include <CLHEP/Geometry/Vector3D.h> 00008 #include <CLHEP/Geometry/Transform3D.h> 00009 #include <vector> 00010 00011 00025 class PreshowerStrip : public CaloCellGeometry 00026 { 00027 public: 00028 00029 PreshowerStrip( const GlobalPoint& po , 00030 const CornersMgr* mgr, 00031 const float* parm ) : 00032 CaloCellGeometry ( po , mgr ) , 00033 m_parms ( parm ) {} 00034 00035 virtual ~PreshowerStrip() {} 00036 00037 virtual bool inside( const GlobalPoint& p ) const ; 00038 00039 virtual const CornersVec& getCorners() const ; 00040 00041 const float dx() const { return param()[0] ; } 00042 const float dy() const { return param()[1] ; } 00043 const float dz() const { return param()[2] ; } 00044 00045 private: 00046 00047 const float* param() const { return m_parms ; } 00048 00049 const float* m_parms ; 00050 }; 00051 00052 std::ostream& operator<<( std::ostream& s , const PreshowerStrip& cell) ; 00053 00054 #endif