ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::ITrackingVolumeHelper Class Referenceabstract

Interface class ITrackingVolumeHelper tools, it inherits from IAlgTool. More...

#include <Acts/Geometry/ITrackingVolumeHelper.hpp>

Inheritance diagram for Acts::ITrackingVolumeHelper:
[legend]

Public Member Functions

virtual ~ITrackingVolumeHelper ()=default
 Virtual destructor.
virtual MutableTrackingVolumePtr createContainerTrackingVolume (const GeometryContext &gctx, const TrackingVolumeVector &volumes) const =0
 Create a one level higher TrackingVolue.
virtual 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.
virtual 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.
virtual 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.
virtual 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 =0
 Create a TrackingVolume* from a set of layers and (optional) parameters.

Detailed Description

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.

Todo
add documentation how this is done

TrackingVolumes only exist as std::shared_ptr

Constructor & Destructor Documentation

◆ ~ITrackingVolumeHelper()

virtual Acts::ITrackingVolumeHelper::~ITrackingVolumeHelper ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ createContainerTrackingVolume()

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::createContainerTrackingVolume ( const GeometryContext & gctx,
const TrackingVolumeVector & volumes ) const
pure virtual

Create a one level higher TrackingVolue.

Parameters
gctxis the geometry context for witch the volume is built
volumesthe volumes to be contained
Returns
shared pointer to a new TrackingVolume

Implemented in Acts::CylinderVolumeHelper.

◆ createGapTrackingVolume() [1/2]

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::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
pure virtual

Create a gap volume from dimensions and.

Parameters
gctxis the geometry context for witch the volume is built
mtvVectorVector of confined TrackingVolumes
volumeMaterialmaterial properties for this TrackingVolume
loc0Min,loc0Max,loc1Min,loc1Maxlocal position in space,
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

Implemented in Acts::CylinderVolumeHelper.

◆ createGapTrackingVolume() [2/2]

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::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
pure virtual

Create a gap volume from dimensions and.

Parameters
gctxis the geometry context for witch the volume is built
mtvVectorVector of confined TrackingVolumes
volumeMaterialmaterial properties for this TrackingVolume
loc0Min,loc0Max,loc1Min,loc1Max: local position in space, this TrackingVolume is restricted to Translation only
materialLayersnumber of material layers (equidistant binning)
cylindertype of layers
volumeNamevolume name to be given
Returns
shared pointer to a new TrackingVolume

Implemented in Acts::CylinderVolumeHelper.

◆ createTrackingVolume() [1/2]

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::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
pure virtual

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
loc0Min,loc0Max,loc1Min,loc1Max: local position in space, this TrackingVolume is restricted to Translation only
volumeNamevolume name to be given
btype(optional) BinningType - arbitrary(default) or equidistant
Returns
shared pointer to a new TrackingVolume

Implemented in Acts::CylinderVolumeHelper.

◆ createTrackingVolume() [2/2]

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::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
pure virtual

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

Implemented in Acts::CylinderVolumeHelper.