#include <SimpleCylinderBounds.h>
Public Member Functions | |
virtual Bounds * | clone () const |
virtual bool | inside (const Local3DPoint &p) const |
Determine if the point is inside the bounds. | |
virtual bool | inside (const Local2DPoint &p, const LocalError &err) const |
virtual bool | inside (const Local3DPoint &p, const LocalError &err, float scale) const |
Determine if a point is inside the bounds, taking error into account. | |
virtual float | length () const |
Lenght of the cylinder. | |
SimpleCylinderBounds (float rmin, float rmax, float zmin, float zmax) | |
virtual float | thickness () const |
Thikness of the "pipe", i.e. difference between outer and inner radius. | |
virtual float | width () const |
Outer diameter of the cylinder. | |
Private Attributes | |
float | theRmax |
float | theRmin |
float | theZmax |
float | theZmin |
Cylinder bounds. The cylinder axis coincides with the Z axis. The bounds limit the length at constant Z, and allow finite thickness. The cylinder bound in this way looks like a pipe cut perpendicularily to it's axis. Width is intended as the (outer) diameter of the pipe and thickness as the thickness of the pipe, i.e. difference between outer and inner radius
Definition at line 20 of file SimpleCylinderBounds.h.
SimpleCylinderBounds::SimpleCylinderBounds | ( | float | rmin, |
float | rmax, | ||
float | zmin, | ||
float | zmax | ||
) |
Bounds * SimpleCylinderBounds::clone | ( | void | ) | const [virtual] |
Implements Bounds.
Definition at line 29 of file SimpleCylinderBounds.cc.
References SimpleCylinderBounds().
{ return new SimpleCylinderBounds(*this); }
bool SimpleCylinderBounds::inside | ( | const Local2DPoint & | p, |
const LocalError & | err | ||
) | const [virtual] |
Definition at line 25 of file SimpleCylinderBounds.cc.
References inside().
{ return Bounds::inside(p,err); }
bool SimpleCylinderBounds::inside | ( | const Local3DPoint & | , |
const LocalError & | , | ||
float | scale | ||
) | const [virtual] |
Determine if a point is inside the bounds, taking error into account.
Implements Bounds.
Definition at line 16 of file SimpleCylinderBounds.cc.
References inside(), mathSSE::sqrt(), theRmax, theRmin, theZmax, theZmin, tmp, and LocalError::yy().
bool SimpleCylinderBounds::inside | ( | const Local3DPoint & | ) | const [virtual] |
Determine if the point is inside the bounds.
Implements Bounds.
Definition at line 11 of file SimpleCylinderBounds.cc.
References PV3DBase< T, PVType, FrameType >::perp(), theRmax, theRmin, theZmax, theZmin, and PV3DBase< T, PVType, FrameType >::z().
Referenced by inside().
virtual float SimpleCylinderBounds::length | ( | ) | const [inline, virtual] |
virtual float SimpleCylinderBounds::thickness | ( | ) | const [inline, virtual] |
virtual float SimpleCylinderBounds::width | ( | ) | const [inline, virtual] |
Outer diameter of the cylinder.
Implements Bounds.
Definition at line 28 of file SimpleCylinderBounds.h.
References theRmax.
{ return 2*theRmax;}
float SimpleCylinderBounds::theRmax [private] |
Definition at line 44 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), thickness(), and width().
float SimpleCylinderBounds::theRmin [private] |
Definition at line 43 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), and thickness().
float SimpleCylinderBounds::theZmax [private] |
Definition at line 46 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().
float SimpleCylinderBounds::theZmin [private] |
Definition at line 45 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().