Class VolumeBounds¶
Defined in File VolumeBounds.hpp
Inheritance Relationships¶
Derived Types¶
public Acts::ConeVolumeBounds
(Class ConeVolumeBounds)public Acts::CuboidVolumeBounds
(Class CuboidVolumeBounds)public Acts::CutoutCylinderVolumeBounds
(Class CutoutCylinderVolumeBounds)public Acts::CylinderVolumeBounds
(Class CylinderVolumeBounds)public Acts::GenericCuboidVolumeBounds
(Class GenericCuboidVolumeBounds)public Acts::TrapezoidVolumeBounds
(Class TrapezoidVolumeBounds)
Class Documentation¶
-
class
Acts
::
VolumeBounds
¶ Pure Absract Base Class for Volume bounds.
Acts::VolumeBounds are a set of up to six confining Surfaces that are stored in a std::vector. Each type of Acts::VolumeBounds has to implement a orientedSurfaces() and a inside() method.
The Volume, retrieving a set of Surfaces from the VolumeBounds, can turn the Surfaces into BoundarySurfaces.
Subclassed by Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, Acts::CylinderVolumeBounds, Acts::GenericCuboidVolumeBounds, Acts::TrapezoidVolumeBounds
Public Types
Public Functions
-
VolumeBounds
() = default¶
-
~VolumeBounds
() = default¶
-
double
binningBorder
(BinningValue bValue) const¶ Binning borders in double.
- Return
float offset to be used for the binning
- Parameters
bValue
: is the binning schema used
-
Vector3
binningOffset
(BinningValue bValue) const¶ Binning offset - overloaded for some R-binning types.
- Return
vector 3D to be used for the binning
- Parameters
bValue
: is the binning schema used
-
Volume::BoundingBox
boundingBox
(const Transform3 *trf = nullptr, const Vector3 &envelope = {0, 0, 0}, const Volume *entity = nullptr) const = 0¶ 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
-
bool
inside
(const Vector3 &gpos, double tol = 0.) const = 0¶ Checking if position given in volume frame is inside.
- Return
boolean indicating if the position is inside
- Parameters
gpos
: is the global position to be checkedtol
: is the tolerance applied for the inside check
-
OrientedSurfaces
orientedSurfaces
(const Transform3 &transform = Transform3::Identity()) const = 0¶ 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 = 0¶ Output Method for std::ostream, to be overloaded by child classes.
- Parameters
sl
: is the output stream to be dumped into
-
BoundsType
type
() const = 0¶ Return the bounds type - for persistency optimization.
- Return
is a BoundsType enum
-
std::vector<double>
values
() const = 0¶ Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds.
- Return
of the stored values for this SurfaceBounds object
-