Class CutoutCylinderVolumeBounds¶
Defined in File CutoutCylinderVolumeBounds.hpp
Inheritance Relationships¶
Base Type¶
public Acts::VolumeBounds
(Class VolumeBounds)
Class Documentation¶
-
class
Acts
::
CutoutCylinderVolumeBounds
: public Acts::VolumeBounds¶ Class which implements a cutout cylinder.
This shape is bascially a cylinder, with another, smaller cylinder subtracted from the center. —————— rmax | | | |——| | rmed | | | | — — rmin hlZc —— hlZ —-
Public Types
Public Functions
-
CutoutCylinderVolumeBounds
() = delete¶
-
CutoutCylinderVolumeBounds
(double rmin, double rmed, double rmax, double hlZ, double hlZc) noexcept(false)¶ Constructor from defining parameters.
- Parameters
rmin
: Minimum radius at the “choke points”rmed
: The medium radius (outer radius of the cutout)rmax
: The outer radius of the overall shapehlZ
: The longer halflength of the shapehlZc
: The cutout halflength of the shape
-
CutoutCylinderVolumeBounds
(const std::array<double, eSize> &values) noexcept(false)¶ Constructor - from a fixed size array.
- Parameters
values
: The bound values
-
~CutoutCylinderVolumeBounds
() override = default¶
-
Volume::BoundingBox
boundingBox
(const Transform3 *trf = nullptr, const Vector3 &envelope = {0, 0, 0}, const Volume *entity = nullptr) const final¶ Construct bounding box for this shape.
- Return
Constructed bounding box
- Parameters
trf
: Optional transformenvelope
: Optional envelope to add / subtract from min/maxentity
: Entity to associate this bounding box with
-
double
get
(BoundValues bValue) const¶ Access to the bound values.
- Parameters
bValue
: the class nested enum for the array access
-
bool
inside
(const Vector3 &gpos, double tol = 0) const override¶ Inside method to test whether a point is inside the shape.
- Return
Whether the point is inside or not.
- Parameters
gpos
: The point to testtol
: The tolerance to test with
-
OrientedSurfaces
orientedSurfaces
(const Transform3 &transform = Transform3::Identity()) const override¶ Oriented surfaces, i.e.
the decomposed boundary surfaces and the according navigation direction into the volume given the normal vector on the surface
It will throw an exception if the orientation prescription is not adequate
- Parameters
transform
: is the 3D transform to be applied to the boundary surfaces to position them in 3D space
- Return
a vector of surfaces bounding this volume
-
std::ostream &
toStream
(std::ostream &sl) const override¶ Write information about this instance to an outstream.
- Return
The outstream
- Parameters
sl
: The outstream
-
VolumeBounds::BoundsType
type
() const final¶ Return the bounds type - for persistency optimization.
- Return
is a BoundsType enum
-
std::vector<double>
values
() const final¶ Return the bound values as dynamically sized vector.
- Return
this returns a copy of the internal values
-