Class GenericCuboidVolumeBounds

Inheritance Relationships

Base Type

Class Documentation

class Acts::GenericCuboidVolumeBounds : public Acts::VolumeBounds

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, eSize> &values) noexcept(false)

Constructor from a fixed size array.

Parameters
  • values: The input values

~GenericCuboidVolumeBounds() 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 transform

  • envelope: Optional envelope to add / subtract from min/max

  • entity: Entity to associate this bounding box with

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

bool inside(const Vector3 &gpos, double tol = 0.) const override

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 checked

  • tol: is the tolerance applied for the inside check

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

Parameters
  • sl: is the output stream to be written into

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

Public Static Attributes

constexpr size_t eSize = 24