ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::CylinderVolumeHelper Class Reference

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

#include <Acts/Geometry/CylinderVolumeHelper.hpp>

Inheritance diagram for Acts::CylinderVolumeHelper:
[legend]
Collaboration diagram for Acts::CylinderVolumeHelper:
[legend]

Classes

struct  Config
 Nested configuration struct for this CylinderVolumeHelper. More...

Public Member Functions

 CylinderVolumeHelper (const Config &cvhConfig, std::unique_ptr< const Logger > logger=getDefaultLogger("CylinderVolumeHelper", Logging::INFO))
 Constructor.
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.
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.
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.
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.
MutableTrackingVolumePtr createTrackingVolume (const GeometryContext &gctx, const LayerVector &layers, std::shared_ptr< const IVolumeMaterial > volumeMaterial, std::shared_ptr< VolumeBounds > 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.
Config getConfiguration () const
 Get configuration method.
void setConfiguration (const Config &cvhConfig)
 Set configuration method.
void setLogger (std::unique_ptr< const Logger > newLogger)
 Set logging instance.
Public Member Functions inherited from Acts::ITrackingVolumeHelper
virtual ~ITrackingVolumeHelper ()=default
 Virtual destructor.

Protected Attributes

Config m_cfg
 Configuration object.

Detailed Description

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

Constructor & Destructor Documentation

◆ CylinderVolumeHelper()

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

Constructor.

Parameters
cvhConfigis the configuration struct for this builder
loggerlogging instance

Member Function Documentation

◆ createContainerTrackingVolume()

MutableTrackingVolumePtr Acts::CylinderVolumeHelper::createContainerTrackingVolume ( const GeometryContext & gctx,
const TrackingVolumeVector & volumes ) const
overridevirtual

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

Parameters
[in]gctxthe geometry context for this building
volumesthe volumes to be contained
Returns
shared pointer to a new TrackingVolume

Implements Acts::ITrackingVolumeHelper.

◆ createGapTrackingVolume() [1/2]

MutableTrackingVolumePtr Acts::CylinderVolumeHelper::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
overridevirtual

Create a gap volume from dimensions and.

Parameters
[in]gctxthe geometry context for this building
mtvVectorVector of confined TrackingVolumes
volumeMaterialdense material properties for this TrackingVolume
rMinminimum radius
rMaxmaximum radius
zMinminimum z
zMaxmaximum z
layerPositionscustom layer positions
cylindertype of layers
volumeName: volume name to be given
bType(optional) BinningType - arbitrary(default) or equidistant
Returns
shared pointer to a new TrackingVolume

Implements Acts::ITrackingVolumeHelper.

◆ createGapTrackingVolume() [2/2]

MutableTrackingVolumePtr Acts::CylinderVolumeHelper::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
overridevirtual

Create a gap volume from dimensions and.

Note
this TrackingVolume is restricted to Translation only
Parameters
[in]gctxthe geometry context for this building
mtvVectorVector of confined TrackingVolumes
volumeMaterialdense material properties for this TrackingVolume
rMinminimum radius
rMaxmaximum radius
zMinminimum z
zMaxmaximum z
materialLayersnumber of material layers (equidistant binning)
cylindertype of layers
volumeNamevolume name to be given
Returns
shared pointer to a new TrackingVolume

Implements Acts::ITrackingVolumeHelper.

◆ createTrackingVolume() [1/2]

MutableTrackingVolumePtr Acts::CylinderVolumeHelper::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
overridevirtual

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

Parameters
gctxis the geometry context for witch the volume is built
layersvector of static layers confined by the TrackingVolume if no bounds or HepTransform is given, they define the size together with the volume enevlope parameters
volumeMaterialmaterial properties for this TrackingVolume
mtvVectorVector of confined TrackingVolumes
rMinminimum radius
rMaxmaximum radius
zMinminimum z
zMaxmaximum z
volumeNamevolume name to be given
bType(optional) BinningType - arbitrary(default) or equidistant
Returns
shared pointer to a new TrackingVolume

Implements Acts::ITrackingVolumeHelper.

◆ createTrackingVolume() [2/2]

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

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

Parameters
gctxis the geometry context for witch the volume is built
layersvector of static layers confined by the TrackingVolume if no bounds or HepTransform is given, they define the size together with the volume enevlope parameters
volumeMaterialmaterial properties for this TrackingVolume
volumeBoundsconfinement of this TrackingVolume
mtvVector(optional) Vector of confined TrackingVolumes
transform(optional) placement of this TrackingVolume
volumeNamevolume name to be given
bType(optional) BinningType - arbitrary(default) or equidistant
Returns
shared pointer to a new TrackingVolume

Implements Acts::ITrackingVolumeHelper.

◆ getConfiguration()

CylinderVolumeHelper::Config Acts::CylinderVolumeHelper::getConfiguration ( ) const

Get configuration method.

Returns
Copy of the current configuration

◆ setConfiguration()

void Acts::CylinderVolumeHelper::setConfiguration ( const Config & cvhConfig)

Set configuration method.

Parameters
cvhConfigis the configuration struct assigned

◆ setLogger()

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

Set logging instance.

Parameters
newLoggeris the logger instance to be set

Member Data Documentation

◆ m_cfg

Config Acts::CylinderVolumeHelper::m_cfg
protected

Configuration object.