EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ITrackingVolumeHelper Class Referenceabstract

#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/ITrackingVolumeHelper.hpp>

+ Inheritance diagram for Acts::ITrackingVolumeHelper:

Public Member Functions

virtual ~ITrackingVolumeHelper ()=default
 Virtual destructor.
 
virtual MutableTrackingVolumePtr createTrackingVolume (const GeometryContext &gctx, const LayerVector &layers, std::shared_ptr< const IVolumeMaterial > volumeMaterial, VolumeBoundsPtr volumeBounds, MutableTrackingVolumeVector mtvVector={}, const Transform3D &transform=Transform3D::Identity(), const std::string &volumeName="UndefinedVolume", BinningType btype=arbitrary) const =0
 
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
 
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
 
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
 
virtual MutableTrackingVolumePtr createContainerTrackingVolume (const GeometryContext &gctx, const TrackingVolumeVector &volumes) const =0
 

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.

TrackingVolumes only exist as std::shared_ptr

Definition at line 44 of file ITrackingVolumeHelper.hpp.

View newest version in sPHENIX GitHub at line 44 of file ITrackingVolumeHelper.hpp

Constructor & Destructor Documentation

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

Virtual destructor.

Member Function Documentation

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.

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 (aequidistant binning)
cylindertype of layers
volumeNamevolume name to be given
Returns
shared pointer to a new TrackingVolume

Implemented in Acts::CylinderVolumeHelper.

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.

virtual MutableTrackingVolumePtr Acts::ITrackingVolumeHelper::createTrackingVolume ( const GeometryContext gctx,
const LayerVector layers,
std::shared_ptr< const IVolumeMaterial volumeMaterial,
VolumeBoundsPtr  volumeBounds,
MutableTrackingVolumeVector  mtvVector = {},
const Transform3D transform = Transform3D::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
volumeBounds,:confinement 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.

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.


The documentation for this class was generated from the following file: