CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleCylinderBounds.h
Go to the documentation of this file.
1 #ifndef Geom_SimpleCylinderBounds_H
2 #define Geom_SimpleCylinderBounds_H
3 
16 #include <cmath>
17 #include <algorithm>
18 
19 
20 class SimpleCylinderBounds : public Bounds {
21 public:
22 
23  SimpleCylinderBounds( float rmin, float rmax, float zmin, float zmax);
24 
26  virtual float length() const { return theZmax - theZmin;}
28  virtual float width() const { return 2*theRmax;}
30  virtual float thickness() const { return theRmax-theRmin;}
31 
32  virtual bool inside( const Local3DPoint& p) const;
33 
34 
35  virtual bool inside( const Local3DPoint& p, const LocalError& err,float scale) const;
36 
37  virtual bool inside( const Local2DPoint& p, const LocalError& err) const;
38 
39 
40  virtual Bounds* clone() const;
41 
42 private:
43  float theRmin;
44  float theRmax;
45  float theZmin;
46  float theZmax;
47 };
48 
49 #endif // Geom_SimpleCylinderBounds_H
virtual float thickness() const
Thikness of the &quot;pipe&quot;, i.e. difference between outer and inner radius.
virtual Bounds * clone() const
virtual float length() const
Lenght of the cylinder.
SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax)
virtual bool inside(const Local3DPoint &p) const
Determine if the point is inside the bounds.
Definition: Bounds.h:18
virtual float width() const
Outer diameter of the cylinder.