CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h

Go to the documentation of this file.
00001 #ifndef Geom_RectangularPlaneBounds_H
00002 #define Geom_RectangularPlaneBounds_H
00003 
00004 
00005 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00006 #include "DataFormats/GeometrySurface/interface/Bounds.h"
00007 
00008 
00014 class RectangularPlaneBounds : public Bounds {
00015 public:
00016 
00019   RectangularPlaneBounds( float w, float h, float t);
00020 
00022   virtual float length()    const { return 2*halfLength;}
00024   virtual float width()     const { return 2*halfWidth;}
00026   virtual float thickness() const { return 2*halfThickness;}
00027 
00028   // basic bounds function
00029   virtual bool inside( const Local2DPoint& p) const;
00030 
00031   virtual bool inside( const Local3DPoint& p) const;
00032 
00033   virtual bool inside(const Local2DPoint& p, float tollerance) const;
00034 
00035 
00036   virtual bool inside( const Local3DPoint& p, const LocalError& err,
00037                        float scale=1.) const;
00038 
00039   virtual bool inside( const Local2DPoint& p, const LocalError& err, float scale=1.) const;
00040 
00041   virtual Bounds* clone() const;
00042 
00043 private:
00044   float halfWidth;
00045   float halfLength;
00046   float halfThickness;
00047 
00048 };
00049 
00050 #endif