Class Volume

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Acts::Volume : public virtual Acts::GeometryObject

It inhertis of GeometryObject for TDD identification.

Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume classes regarding the geometrical information.

Subclassed by Acts::AbstractVolume, Acts::TrackingVolume

Public Types

using BoundingBox = AxisAlignedBoundingBox<Volume, ActsScalar, 3>

Public Functions

Volume(const Transform3 &transform, VolumeBoundsPtr volbounds)

Explicit constructor with shared arguments.

Note

This will automatically build an oriented bounding box with an envelope value of (0.05, 0.05, 0.05)mm

Parameters
  • transform: is the transform to position the volume in 3D space

  • volbounds: is the volume boundary definitions

Volume(const Volume &vol, const Transform3 &shift = Transform3::Identity())

Copy Constructor - with optional shift.

Note

This will automatically build an oriented bounding box with an envelope value of (0.05, 0.05, 0.05)mm

Parameters
  • vol: is the source volume for the copy

  • shift: is the optional shift applied as : shift * vol.transform()

Volume() = delete
~Volume() = default
Vector3 binningPosition(const GeometryContext &gctx, BinningValue bValue) const override

The binning position method.

  • as default the center is given, but may be overloaded

Return

vector 3D that can be used for the binning

Parameters
  • gctx: The current geometry context object, e.g. alignment

  • bValue: is the binning value schema

BoundingBox boundingBox(const Vector3 &envelope = {0, 0, 0}) const

Construct bounding box for this shape.

Return

Constructed bounding box pointing to this volume

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

const Vector3 &center() const

returns the center of the volume

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

Inside() method for checks.

Return

boolean indicator if the position is inside

Parameters
  • gpos: is the position to be checked

  • tol: is the tolerance parameter

const Transform3 &itransform() const

Returns the inverted transform of this volume.

Volume &operator=(const Volume &vol)

Assignment operator.

Parameters
  • vol: is the source volume to be copied

const BoundingBox &orientedBoundingBox() const

Construct oriented bounding box for this shape.

Return

Constructed oriented bounding box pointing to this volume

const Transform3 &transform() const

Return methods for geometry transform.

const VolumeBounds &volumeBounds() const

returns the volumeBounds()

Protected Attributes

Vector3 m_center
Transform3 m_itransform
BoundingBox m_orientedBoundingBox
Transform3 m_transform
VolumeBoundsPtr m_volumeBounds