#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. More... | |
virtual bool | inside (const Local3DPoint &p, const LocalError &err, float scale) const |
Determine if a point is inside the bounds, taking error into account. More... | |
virtual bool | inside (const Local2DPoint &p, const LocalError &err) const |
virtual float | length () const |
Lenght of the cylinder. More... | |
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. More... | |
virtual float | width () const |
Outer diameter of the cylinder. More... | |
Public Member Functions inherited from Bounds | |
void | computeSpan (Surface const &plane) |
virtual bool | inside (const Local2DPoint &p) const |
virtual bool | inside (const Local2DPoint &p, float tollerance) const |
Determine if a point is inside the bounds, taking a tollerance into account. More... | |
virtual bool | inside (const Local2DPoint &p, const LocalError &err, float scale=1.f) const |
Determine if a 2D point is inside the bounds, taking error into account. More... | |
std::pair< float, float > const & | phiSpan () const |
std::pair< float, float > const & | rSpan () const |
virtual float | widthAtHalfLength () const |
Width at half length. Useful for e.g. pitch definition. More... | |
std::pair< float, float > const & | zSpan () const |
virtual | ~Bounds () |
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 | ||
) |
Definition at line 5 of file SimpleCylinderBounds.cc.
References std::swap(), theRmax, theRmin, theZmax, and theZmin.
Referenced by clone().
|
virtual |
Implements Bounds.
Definition at line 29 of file SimpleCylinderBounds.cc.
References SimpleCylinderBounds().
|
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 |
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().
|
virtual |
Definition at line 25 of file SimpleCylinderBounds.cc.
References Bounds::inside().
|
inlinevirtual |
Lenght of the cylinder.
Implements Bounds.
Definition at line 26 of file SimpleCylinderBounds.h.
References theZmax, and theZmin.
|
inlinevirtual |
Thikness of the "pipe", i.e. difference between outer and inner radius.
Implements Bounds.
Definition at line 30 of file SimpleCylinderBounds.h.
References theRmax, and theRmin.
|
inlinevirtual |
Outer diameter of the cylinder.
Implements Bounds.
Definition at line 28 of file SimpleCylinderBounds.h.
References theRmax.
|
private |
Definition at line 45 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), thickness(), and width().
|
private |
Definition at line 44 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), and thickness().
|
private |
Definition at line 47 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().
|
private |
Definition at line 46 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().