File GenericCuboidVolumeBounds.hpp¶
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
class GenericCuboidVolumeBounds : public Acts::VolumeBounds
- #include <Acts/Geometry/GenericCuboidVolumeBounds.hpp>
Public Functions
-
GenericCuboidVolumeBounds() = delete
-
GenericCuboidVolumeBounds(const std::array<Acts::Vector3, 8> &vertices) noexcept(false)
Constructor from a set of vertices.
The ordering is considered to be:
the first 4 vertices are the “top” face
the second 4 vertices are the “bottom” face
both faces are given in counter clock wise order
- Parameters
vertices – The set of input vertices
-
GenericCuboidVolumeBounds(const std::array<double, BoundValues::eSize> &values) noexcept(false)
Constructor from a fixed size array.
- Parameters
values – The input values
-
~GenericCuboidVolumeBounds() override = default
-
virtual 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.
- Parameters
trf – Optional transform
envelope – Optional envelope to add / subtract from min/max
entity – Entity to associate this bounding box with
- Returns
Constructed bounding box
-
void draw(IVisualization3D &helper, const Transform3 &transform = Transform3::Identity()) const
Draw this shape using a visualization helper.
- Parameters
helper – The visualizatin helper
transform – Optional transformation matrix
-
virtual bool inside(const Vector3 &gpos, double tol = 0.) const override
Checking if position given in volume frame is inside.
- Parameters
gpos – is the global position to be checked
tol – is the tolerance applied for the inside check
- Returns
boolean indicating if the position is inside
-
virtual 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
- Returns
a vector of surfaces bounding this volume
-
virtual std::ostream &toStream(std::ostream &sl) const override
- Parameters
sl – is the output stream to be written into
-
inline virtual VolumeBounds::BoundsType type() const final
Return the bounds type - for persistency optimization.
- Returns
is a BoundsType enum
-
virtual std::vector<double> values() const final
Return the bound values as dynamically sized vector.
- Returns
this returns a copy of the internal values
Private Functions
-
void construct() noexcept(false)¶
Private helper method to contruct the Volume bounds to be called by the constructors, from the ordered input vertices.
-
struct BoundValues
- #include <Acts/Geometry/GenericCuboidVolumeBounds.hpp>
This struct helps to symmetrize with the the other volume bounds classes.
Public Static Attributes
-
static constexpr size_t eSize = 24
-
static constexpr size_t eSize = 24
-
GenericCuboidVolumeBounds() = delete
-
class GenericCuboidVolumeBounds : public Acts::VolumeBounds