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() = delete
-
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()
-
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
-
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()
-
using BoundingBox = AxisAlignedBoundingBox<Volume, ActsScalar, 3>