#include <SimpleCylinderBounds.h>
Public Member Functions | |
Bounds * | clone () const override |
bool | inside (const Local3DPoint &p) const override |
Determine if the point is inside the bounds. More... | |
bool | inside (const Local3DPoint &p, const LocalError &err, float scale) const override |
Determine if a point is inside the bounds, taking error into account. More... | |
virtual bool | inside (const Local2DPoint &p, const LocalError &err) const |
float | length () const override |
Lenght of the cylinder. More... | |
SimpleCylinderBounds (float rmin, float rmax, float zmin, float zmax) | |
float | thickness () const override |
Thikness of the "pipe", i.e. difference between outer and inner radius. More... | |
float | width () const override |
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 | significanceInside (const Local3DPoint &, const LocalError &) 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 19 of file SimpleCylinderBounds.h.
SimpleCylinderBounds::SimpleCylinderBounds | ( | float | rmin, |
float | rmax, | ||
float | zmin, | ||
float | zmax | ||
) |
Definition at line 4 of file SimpleCylinderBounds.cc.
References std::swap(), theRmax, theRmin, theZmax, and theZmin.
Referenced by clone().
|
overridevirtual |
Implements Bounds.
Definition at line 24 of file SimpleCylinderBounds.cc.
References SimpleCylinderBounds().
|
overridevirtual |
Determine if the point is inside the bounds.
Implements Bounds.
Definition at line 12 of file SimpleCylinderBounds.cc.
References PV3DBase< T, PVType, FrameType >::perp(), theRmax, theRmin, theZmax, theZmin, and PV3DBase< T, PVType, FrameType >::z().
Referenced by inside().
|
overridevirtual |
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, createJobs::tmp, and LocalError::yy().
|
virtual |
Definition at line 22 of file SimpleCylinderBounds.cc.
References Bounds::inside().
|
inlineoverridevirtual |
Lenght of the cylinder.
Implements Bounds.
Definition at line 24 of file SimpleCylinderBounds.h.
References theZmax, and theZmin.
|
inlineoverridevirtual |
Thikness of the "pipe", i.e. difference between outer and inner radius.
Implements Bounds.
Definition at line 28 of file SimpleCylinderBounds.h.
References theRmax, and theRmin.
|
inlineoverridevirtual |
Outer diameter of the cylinder.
Implements Bounds.
Definition at line 26 of file SimpleCylinderBounds.h.
References theRmax.
|
private |
Definition at line 41 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), thickness(), and width().
|
private |
Definition at line 40 of file SimpleCylinderBounds.h.
Referenced by inside(), SimpleCylinderBounds(), and thickness().
|
private |
Definition at line 43 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().
|
private |
Definition at line 42 of file SimpleCylinderBounds.h.
Referenced by inside(), length(), and SimpleCylinderBounds().