Go to the documentation of this file.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 double* parm ) :
00032 CaloCellGeometry ( po , mgr, parm ) {}
00033
00034 virtual ~PreshowerStrip() {}
00035
00036 virtual const CornersVec& getCorners() const ;
00037
00038 const double dx() const { return param()[0] ; }
00039 const double dy() const { return param()[1] ; }
00040 const double dz() const { return param()[2] ; }
00041
00042 virtual std::vector<HepGeom::Point3D<double> > vocalCorners( const double* pv,
00043 HepGeom::Point3D<double> & ref ) const
00044 { return localCorners( pv, ref ) ; }
00045
00046 static std::vector<HepGeom::Point3D<double> > localCorners( const double* pv,
00047 HepGeom::Point3D<double> & ref ) ;
00048 virtual HepGeom::Transform3D getTransform( std::vector<HepGeom::Point3D<double> >* lptr ) const
00049 { return HepGeom::Transform3D() ; }
00050
00051 private:
00052 };
00053
00054 std::ostream& operator<<( std::ostream& s , const PreshowerStrip& cell) ;
00055
00056 #endif