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

A volume builder to be used for building concentric cylinder volumes. More...

#include <Acts/Geometry/CylinderVolumeBuilder.hpp>

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

Classes

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

Public Member Functions

 CylinderVolumeBuilder (const Config &cvbConfig, std::unique_ptr< const Logger > logger=getDefaultLogger("CylinderVolumeBuilder", Logging::INFO))
 Constructor.
 ~CylinderVolumeBuilder () override
 Destructor.
VolumeConfig analyzeContent (const GeometryContext &gctx, const LayerVector &lVector, const MutableTrackingVolumeVector &mtvVector) const
 Analyze the config to gather needed dimension.
Config getConfiguration () const
 Get configuration method.
void setConfiguration (const Config &cvbConfig)
 Set configuration method.
void setLogger (std::unique_ptr< const Logger > newLogger)
 set logging instance
MutableTrackingVolumePtr trackingVolume (const GeometryContext &gctx, TrackingVolumePtr existingVolume=nullptr, std::shared_ptr< const VolumeBounds > externalBounds=nullptr) const override
 CylinderVolumeBuilder main call method.
Public Member Functions inherited from Acts::ITrackingVolumeBuilder
virtual ~ITrackingVolumeBuilder ()=default
 Virtual destructor.

Detailed Description

A volume builder to be used for building concentric cylinder volumes.

  • a) configured volume
  • b) wrapping around a cylindrical/disk layer config

All are optionally wrapped around a given volume which has to by a cylinder volume and which has to be center at z == 0

To receive the tracking volume it is possible to also hand over a triple of layers, which is a C++ tuple of three pointers to layer vectors (defined in the ITrackingVolumeBuilder). This functionality is needed for a possible translation of an geometry existing in another format. The first entry represents the layers of the negative endcap, the second the layers of the barrel and the third the layers of the positive endcap. If the one of these pointers is a nullptr no layers will be created for this volume

For the endcap region it is possible to check for a ring layout, in which case an attempt to split into individual ring volumes is done

Constructor & Destructor Documentation

◆ CylinderVolumeBuilder()

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

Constructor.

Parameters
[in]cvbConfigis the configuration struct to steer the builder
[in]loggerlogging instance

◆ ~CylinderVolumeBuilder()

Acts::CylinderVolumeBuilder::~CylinderVolumeBuilder ( )
override

Destructor.

Member Function Documentation

◆ analyzeContent()

VolumeConfig Acts::CylinderVolumeBuilder::analyzeContent ( const GeometryContext & gctx,
const LayerVector & lVector,
const MutableTrackingVolumeVector & mtvVector ) const

Analyze the config to gather needed dimension.

Parameters
[in]gctxthe geometry context for this building
[in]lVectoris the vector of layers that are parsed
[in]mtvVectorVector of mutable tracking volumes to analyze
Returns
a VolumeConfig representing this layer

◆ getConfiguration()

CylinderVolumeBuilder::Config Acts::CylinderVolumeBuilder::getConfiguration ( ) const

Get configuration method.

Return the configuration object.

Returns
a copy of the config object

◆ setConfiguration()

void Acts::CylinderVolumeBuilder::setConfiguration ( const Config & cvbConfig)

Set configuration method.

Parameters
[in]cvbConfigis the new configuration to be set

◆ setLogger()

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

set logging instance

Parameters
[in]newLoggeris the logging instance to be set

◆ trackingVolume()

MutableTrackingVolumePtr Acts::CylinderVolumeBuilder::trackingVolume ( const GeometryContext & gctx,
TrackingVolumePtr existingVolume = nullptr,
std::shared_ptr< const VolumeBounds > externalBounds = nullptr ) const
overridevirtual

CylinderVolumeBuilder main call method.

Parameters
[in]gctxgeometry context for which this cylinder volume is built
[in]existingVolumeis an (optional) volume to be included
[in]externalBoundsare (optional) external confinement constraints
Returns
a mutable pointer to a new TrackingVolume which includes the optionally provided existingVolume consistently for further processing

Implements Acts::ITrackingVolumeBuilder.