Class ITrackingVolumeHelper

Inheritance Relationships

Derived Type

Class Documentation

class Acts::ITrackingVolumeHelper

Interface class ITrackingVolumeHelper tools, it inherits from IAlgTool.

The ITrackingVolumeHelper is a tool to pack a set of layers into a volume, or - to wrap several volumes into a container volume.

TrackingVolumes only exist as std::shared_ptr

Subclassed by Acts::CylinderVolumeHelper

Public Functions

~ITrackingVolumeHelper() = default

Virtual destructor.

MutableTrackingVolumePtr createContainerTrackingVolume(const GeometryContext &gctx, const TrackingVolumeVector &volumes) const = 0

Create a one level higher TrackingVolue.

Return

shared pointer to a new TrackingVolume

Parameters
  • gctx: is the geometry context for witch the volume is built

  • volumes: the volumes to be contained

MutableTrackingVolumePtr createGapTrackingVolume(const GeometryContext &gctx, MutableTrackingVolumeVector &mtvVector, std::shared_ptr<const IVolumeMaterial> volumeMaterial, double loc0Min, double loc0Max, double loc1Min, double loc1Max, unsigned int materialLayers, bool cylinder = true, const std::string &volumeName = "UndefinedVolume") const = 0

Create a gap volume from dimensions and.

Return

shared pointer to a new TrackingVolume

Parameters
  • gctx: is the geometry context for witch the volume is built

  • mtvVector: Vector of confined TrackingVolumes

  • volumeMaterial: material properties for this TrackingVolume

  • loc0Minloc0Maxloc1Minloc1Max: : local position in space, this TrackingVolume is restricted to Translation only

  • materialLayers: number of material layers (aequidistant binning)

  • cylinder: type of layers

  • volumeName: volume name to be given

MutableTrackingVolumePtr createGapTrackingVolume(const GeometryContext &gctx, MutableTrackingVolumeVector &mtvVector, std::shared_ptr<const IVolumeMaterial> volumeMaterial, double loc0Min, double loc0Max, double loc1Min, double loc1Max, const std::vector<double> &layerPositions, bool cylinder = true, const std::string &volumeName = "UndefinedVolume", BinningType btype = arbitrary) const = 0

Create a gap volume from dimensions and.

Return

shared pointer to a new TrackingVolume

Parameters
  • gctx: is the geometry context for witch the volume is built

  • mtvVector: Vector of confined TrackingVolumes

  • volumeMaterial: material properties for this TrackingVolume

  • loc0Minloc0Maxloc1Minloc1Max: local position in space,

  • layerPositions: custom layer positions

  • cylinder: type of layers

  • volumeName: : volume name to be given

  • btype: (optional) BinningType - arbitrary(default) or equidistant

MutableTrackingVolumePtr createTrackingVolume(const GeometryContext &gctx, const LayerVector &layers, std::shared_ptr<const IVolumeMaterial> volumeMaterial, VolumeBoundsPtr volumeBounds, MutableTrackingVolumeVector mtvVector = {}, const Transform3 &transform = Transform3::Identity(), const std::string &volumeName = "UndefinedVolume", BinningType btype = arbitrary) const = 0

Create a TrackingVolume* from a set of layers and (optional) parameters.

Return

shared pointer to a new TrackingVolume

Parameters
  • gctx: is the geometry context for witch the volume is built

  • layers: vector of static layers confined by the TrackingVolume if no bounds or HepTransform is given, they define the size together with the volume enevlope parameters

  • volumeMaterial: material properties for this TrackingVolume

  • volumeBounds: confinement of this TrackingVolume

  • mtvVector: (optional) Vector of confined TrackingVolumes

  • transform: (optional) placement of this TrackingVolume

  • volumeName: volume name to be given

  • btype: (optional) BinningType - arbitrary(default) or equidistant

MutableTrackingVolumePtr createTrackingVolume(const GeometryContext &gctx, const LayerVector &layers, MutableTrackingVolumeVector mtvVector, std::shared_ptr<const IVolumeMaterial> volumeMaterial, double loc0Min, double loc0Max, double loc1Min, double loc1Max, const std::string &volumeName = "UndefinedVolume", BinningType btype = arbitrary) const = 0

Create a TrackingVolume* from a set of layers and (optional) parameters.

Return

shared pointer to a new TrackingVolume

Parameters
  • gctx: is the geometry context for witch the volume is built

  • layers: vector of static layers confined by the TrackingVolume if no bounds or HepTransform is given, they define the size together with the volume enevlope parameters

  • volumeMaterial: material properties for this TrackingVolume

  • mtvVector: Vector of confined TrackingVolumes

  • loc0Minloc0Maxloc1Minloc1Max: : local position in space, this TrackingVolume is restricted to Translation only

  • volumeName: volume name to be given

  • btype: (optional) BinningType - arbitrary(default) or equidistant