Class Acts::Volume

class 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
virtual ~Volume() = default
virtual Vector3 binningPosition(const GeometryContext &gctx, BinningValue bValue) const override

The binning position method.

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

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

  • bValue – is the binning value schema

Returns

vector 3D that can be used for the binning

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

Construct bounding box for this shape.

Parameters

envelope – Optional envelope to add / subtract from min/max

Returns

Constructed bounding box pointing to this volume

inline const Vector3 &center() const

returns the center of the volume

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

Inside() method for checks.

Parameters
  • gpos – is the position to be checked

  • tol – is the tolerance parameter

Returns

boolean indicator if the position is inside

inline 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.

Returns

Constructed oriented bounding box pointing to this volume

inline const Transform3 &transform() const

Return methods for geometry transform.

inline const VolumeBounds &volumeBounds() const

returns the volumeBounds()