Class CylinderVolumeHelper

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class Acts::CylinderVolumeHelper : public Acts::ITrackingVolumeHelper

The concrete implementation for cylindrical TrackingVolume objects of the ITrackingVolumeCreator interface.

Public Functions

CylinderVolumeHelper(const Config &cvhConfig, std::unique_ptr<const Logger> logger = getDefaultLogger("CylinderVolumeHelper", Logging::INFO))

Constructor.

Parameters
  • cvhConfig: is the configuration struct for this builder

  • logger: logging instance

~CylinderVolumeHelper() override = default
MutableTrackingVolumePtr createContainerTrackingVolume(const GeometryContext &gctx, const TrackingVolumeVector &volumes) const override

Create a container volumes from sub volumes, input volumes are ordered in R or Z by convention.

Return

shared pointer to a new TrackingVolume

Parameters
  • [in] gctx: the geometry context for this building

  • volumes: the volumes to be contained

MutableTrackingVolumePtr createGapTrackingVolume(const GeometryContext &gctx, MutableTrackingVolumeVector &mtvVector, std::shared_ptr<const IVolumeMaterial> volumeMaterial, double rMin, double rMax, double zMin, double zMax, unsigned int materialLayers, bool cylinder = true, const std::string &volumeName = "UndefinedVolume") const override

Create a gap volume from dimensions and.

Note

this TrackingVolume is restricted to Translation only

Return

shared pointer to a new TrackingVolume

Parameters
  • [in] gctx: the geometry context for this building

  • mtvVector: Vector of confined TrackingVolumes

  • volumeMaterial: dense material properties for this TrackingVolume

  • rMin: minimum radius

  • rMax: maximum radius

  • zMin: minimum z

  • zMax: maximum z

  • 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 rMin, double rMax, double zMin, double zMax, const std::vector<double> &layerPositions, bool cylinder = true, const std::string &volumeName = "UndefinedVolume", BinningType bType = arbitrary) const override

Create a gap volume from dimensions and.

Return

shared pointer to a new TrackingVolume

Parameters
  • [in] gctx: the geometry context for this building

  • mtvVector: Vector of confined TrackingVolumes

  • volumeMaterial: dense material properties for this TrackingVolume

  • rMin: minimum radius

  • rMax: maximum radius

  • zMin: minimum z

  • zMax: maximum z

  • 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 override

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: (optiona) 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 rMin, double rMax, double zMin, double zMax, const std::string &volumeName = "UndefinedVolume", BinningType bType = arbitrary) const override

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

  • rMin: minimum radius

  • rMax: maximum radius

  • zMin: minimum z

  • zMax: maximum z

  • volumeName: volume name to be given

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

Config getConfiguration() const

Get configuration method.

void setConfiguration(const Config &cvhConfig)

Set configuration method.

Parameters
  • cvhConfig: is the configurtion struct assigned

void setLogger(std::unique_ptr<const Logger> newLogger)

Set logging instance.

Parameters
  • newLogger: is the logger isntance to be set

Protected Attributes

Config m_cfg

Configuration object.

struct Config

Nested configuration struct for this CylinderVolumeHelper.

Public Members

std::shared_ptr<const ILayerArrayCreator> layerArrayCreator = nullptr

a tool for coherent LayerArray creation

int passiveLayerPhiBins = 1

bins in phi for the passive layer

int passiveLayerRzBins = 100

bins in r/z for the passive layer

double passiveLayerThickness = 1

thickness of passive layers

std::shared_ptr<const ITrackingVolumeArrayCreator> trackingVolumeArrayCreator = nullptr

Helper Tool to create TrackingVolume.