Class AbstractVolume

Inheritance Relationships

Base Type

Class Documentation

class Acts::AbstractVolume : public Acts::Volume

AbstractVolume description inside the tracking realm.

This is the purely geometrical object volume.

The Acts::AbstractVolume is constructed by giving a pointer to a Transform3D and a pointer to Acts::VolumeBounds, this implies that the ownership of the objects pointed to is passed as well. For memory optimisation, the AbstractVolume can also be constructed with shared_ptr objects.

A Acts::AbstractVolume is at first a collection class of Acts::BoundarySurface, the vector of Acts::BoundarySurface is returned by the Acts::VolumeBounds that carry a decompose method.

Boundary surfaces can be shared between AbstractVolumes to enhance automatic navigation between AbstractVolumes, therefor they are reference counted by a std::shared_ptr holder class.

Public Functions

AbstractVolume(std::shared_ptr<const Transform3D> htrans, VolumeBoundsPtr volbounds)

Constructor with shared Transform3D*, VolumeBounds*.

Parameters
  • htrans: is the transform 3D the positions the volume in global frame

  • volbounds: is the boundary definition

AbstractVolume(const AbstractVolume &vol) = default
AbstractVolume() = delete
~AbstractVolume() override
const std::vector<BoundarySurfacePtr> &boundarySurfaces() const

Method to return the BoundarySurfaces.

Return

the vector of boundary surfaces

AbstractVolume &operator=(const AbstractVolume &vol) = delete

Assignment operator - deleted.