File AbstractVolume.hpp¶
-
namespace Acts
Set the Geometry Context PLUGIN.
Set the Calibration Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.
Set the Mangetic Field Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.
Currently implemented for the two most common formats: rz and xyz.
Typedefs
-
using BoundarySurfacePtr = std::shared_ptr<const BoundarySurfaceT<AbstractVolume>>¶
-
typedef std::shared_ptr<const VolumeBounds> VolumeBoundsPtr¶
-
class AbstractVolume : public Acts::Volume
- #include <Acts/Geometry/AbstractVolume.hpp>
AbstractVolume description inside the tracking realm.
This is the purely geometrical object volume.
The Acts::AbstractVolume is constructed by giving a pointer to a Transform3 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(const Transform3 &transform, VolumeBoundsPtr volbounds)
Constructor with shared Transform3*, VolumeBounds*.
- Parameters
transform – is the gobal 3d transformation into the volume frame
volbounds – is the boundary definition
-
AbstractVolume(const AbstractVolume &vol) = default
-
AbstractVolume() = delete
-
~AbstractVolume() override = default
-
const std::vector<BoundarySurfacePtr> &boundarySurfaces() const
Method to return the BoundarySurfaces.
- Returns
the vector of boundary surfaces
-
AbstractVolume &operator=(const AbstractVolume &vol) = delete
Private Functions
-
void createBoundarySurfaces()¶
Private method to create BoundarySurfaces.
Private Members
-
std::vector<BoundarySurfacePtr> m_boundarySurfaces¶
boundary Surfaces for this volume
-
AbstractVolume(const Transform3 &transform, VolumeBoundsPtr volbounds)
-
using BoundarySurfacePtr = std::shared_ptr<const BoundarySurfaceT<AbstractVolume>>¶