00001 #ifndef Geom_SimpleDiskBounds_H 00002 #define Geom_SimpleDiskBounds_H 00003 00004 00005 #include "DataFormats/GeometryVector/interface/LocalPoint.h" 00006 #include "DataFormats/GeometrySurface/interface/Bounds.h" 00007 00008 00013 class SimpleDiskBounds : public Bounds { 00014 public: 00015 00017 SimpleDiskBounds( float rmin, float rmax, float zmin, float zmax); 00018 00019 virtual float length() const { return theZmax - theZmin;} 00020 virtual float width() const { return 2*theRmax;} 00021 virtual float thickness() const { return theZmax-theZmin;} 00022 00023 virtual bool inside( const Local3DPoint& p) const; 00024 00025 virtual bool inside( const Local3DPoint& p, const LocalError& err, float scale) const; 00026 00027 virtual bool inside( const Local2DPoint& p, const LocalError& err) const; 00028 00029 virtual Bounds* clone() const; 00030 00032 float innerRadius() const {return theRmin;} 00033 float outerRadius() const {return theRmax;} 00034 00035 private: 00036 float theRmin; 00037 float theRmax; 00038 float theZmin; 00039 float theZmax; 00040 }; 00041 00042 #endif // Geom_SimpleDiskBounds_H 00043 00044