ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::DetrayPayloadConverter Class Reference

Converter for ACTS geometry to Detray payload format. More...

#include </home/runner/work/acts/acts/Plugins/Detray/include/ActsPlugins/Detray/DetrayPayloadConverter.hpp>

Classes

struct  Config
 Configuration for the Detray payload converter. More...
struct  Payloads
 Container for all Detray payload outputs. More...

Public Types

using DetraySurfaceGrid
 Detray surface grid payload type.
using DetraySurfaceMaterial
 Detray surface material payload type.
using SurfaceLookupFunction
 Function type for looking up surface indices in detray conversion.

Public Member Functions

 DetrayPayloadConverter (const Config &config, std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("DetrayPayloadConverter", Acts::Logging::INFO))
 Constructor.
std::pair< std::vector< detray::io::grid_payload< detray::io::material_slab_payload, detray::io::material_id > >, detray::io::material_volume_payload > convertMaterial (const Acts::TrackingVolume &volume, const std::unordered_map< const Acts::Surface *, std::size_t > &surfaceIndices, detray::io::volume_payload &volPayload) const
 Convert material.
detray::io::surface_payload convertSurface (const Acts::GeometryContext &gctx, const Acts::Surface &surface, bool portal=false) const
 Convert surface.
Payloads convertTrackingGeometry (const Acts::GeometryContext &gctx, const Acts::TrackingGeometry &geometry) const
 Convert tracking geometry.
detray::io::volume_payload convertVolume (const Acts::GeometryContext &gctx, const Acts::TrackingVolume &volume) const
 Convert volume.

Static Public Member Functions

static std::optional< DetraySurfaceMaterialconvertBinnedSurfaceMaterial (const Acts::BinnedSurfaceMaterial &material)
 Convert binned surface material.
static std::optional< DetraySurfaceGridconvertCylinderNavigationPolicy (const Acts::CylinderNavigationPolicy &policy, const Acts::GeometryContext &gctx, const SurfaceLookupFunction &surfaceLookup, const Acts::Logger &logger)
 Convert cylinder navigation policy.
static std::optional< DetraySurfaceMaterialconvertGridSurfaceMaterial (const Acts::IGridSurfaceMaterialBase &material)
 Convert grid surface material.
static std::optional< DetraySurfaceMaterialconvertHomogeneousSurfaceMaterial (const Acts::HomogeneousSurfaceMaterial &material)
 Convert homogeneous surface material.
static detray::io::mask_payload convertMask (const Acts::SurfaceBounds &bounds, bool forPortal)
 Convert surface bounds to detray mask payload.
static std::optional< DetraySurfaceGridconvertMultiLayerNavigationPolicy (const Acts::Experimental::MultiLayerNavigationPolicy &policy, const Acts::GeometryContext &gctx, const SurfaceLookupFunction &surfaceLookup, const Acts::Logger &logger)
 Convert multi layer navigation policy.
static std::optional< DetraySurfaceGridconvertMultiNavigationPolicy (const Acts::MultiNavigationPolicy &policy, const Acts::GeometryContext &gctx, const SurfaceLookupFunction &surfaceLookup, const Acts::Logger &logger)
 Convert multi navigation policy.
static std::optional< DetraySurfaceMaterialconvertProtoSurfaceMaterialBinUtility (const Acts::ProtoSurfaceMaterialT< Acts::BinUtility > &material)
 Convert proto surface material with bin utility.
static std::optional< DetraySurfaceMaterialconvertProtoSurfaceMaterialProtoAxes (const Acts::ProtoSurfaceMaterialT< std::vector< Acts::DirectedProtoAxis > > &material)
 Convert proto surface material with proto axes.
static std::optional< DetraySurfaceGridconvertSurfaceArray (const Acts::SurfaceArrayNavigationPolicy &policy, const Acts::GeometryContext &gctx, const SurfaceLookupFunction &surfaceLookup, const Acts::Logger &logger)
 Convert surface array navigation policy.
static std::optional< DetraySurfaceGridconvertTryAllNavigationPolicy (const Acts::TryAllNavigationPolicy &policy, const Acts::GeometryContext &gctx, const SurfaceLookupFunction &surfaceLookup, const Acts::Logger &logger)
 Convert try all navigation policy.

Detailed Description

Converter for ACTS geometry to Detray payload format.

Member Typedef Documentation

◆ DetraySurfaceGrid

Initial value:
detray::io::grid_payload<std::size_t, detray::io::accel_id>

Detray surface grid payload type.

◆ DetraySurfaceMaterial

Initial value:
std::variant<detray::io::grid_payload<detray::io::material_slab_payload,
detray::io::material_id>,
detray::io::material_slab_payload>

Detray surface material payload type.

◆ SurfaceLookupFunction

Initial value:
std::function<std::size_t(const Acts::Surface*)>
Abstract Base Class for tracking surfaces.
Definition Surface.hpp:53

Function type for looking up surface indices in detray conversion.

Constructor & Destructor Documentation

◆ DetrayPayloadConverter()

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

Constructor.

Parameters
configConfiguration object
loggerLogger instance

Member Function Documentation

◆ convertBinnedSurfaceMaterial()

std::optional< DetraySurfaceMaterial > ActsPlugins::DetrayPayloadConverter::convertBinnedSurfaceMaterial ( const Acts::BinnedSurfaceMaterial & material)
static

Convert binned surface material.

Parameters
materialBinned surface material
Returns
Detray surface material payload

◆ convertCylinderNavigationPolicy()

std::optional< DetraySurfaceGrid > ActsPlugins::DetrayPayloadConverter::convertCylinderNavigationPolicy ( const Acts::CylinderNavigationPolicy & policy,
const Acts::GeometryContext & gctx,
const SurfaceLookupFunction & surfaceLookup,
const Acts::Logger & logger )
static

Convert cylinder navigation policy.

Parameters
policyCylinder navigation policy
gctxGeometry context
surfaceLookupSurface lookup function
loggerLogger instance
Returns
Detray surface grid payload

◆ convertGridSurfaceMaterial()

std::optional< DetraySurfaceMaterial > ActsPlugins::DetrayPayloadConverter::convertGridSurfaceMaterial ( const Acts::IGridSurfaceMaterialBase & material)
static

Convert grid surface material.

Parameters
materialGrid surface material
Returns
Detray surface material payload

◆ convertHomogeneousSurfaceMaterial()

std::optional< DetraySurfaceMaterial > ActsPlugins::DetrayPayloadConverter::convertHomogeneousSurfaceMaterial ( const Acts::HomogeneousSurfaceMaterial & material)
static

Convert homogeneous surface material.

Parameters
materialHomogeneous surface material
Returns
Detray surface material payload

◆ convertMask()

detray::io::mask_payload ActsPlugins::DetrayPayloadConverter::convertMask ( const Acts::SurfaceBounds & bounds,
bool forPortal )
static

Convert surface bounds to detray mask payload.

Parameters
boundsthe surface bounds to convert
forPortaldetray special cases the local parametrization for portals for performance reasons
Returns
Detray mask payload

◆ convertMaterial()

std::pair< std::vector< detray::io::grid_payload< detray::io::material_slab_payload, detray::io::material_id > >, detray::io::material_volume_payload > ActsPlugins::DetrayPayloadConverter::convertMaterial ( const Acts::TrackingVolume & volume,
const std::unordered_map< const Acts::Surface *, std::size_t > & surfaceIndices,
detray::io::volume_payload & volPayload ) const

Convert material.

Parameters
volumeTracking volume
surfaceIndicesSurface indices map
volPayloadVolume payload
Returns
Material grids and volume material payloads

◆ convertMultiLayerNavigationPolicy()

std::optional< DetraySurfaceGrid > ActsPlugins::DetrayPayloadConverter::convertMultiLayerNavigationPolicy ( const Acts::Experimental::MultiLayerNavigationPolicy & policy,
const Acts::GeometryContext & gctx,
const SurfaceLookupFunction & surfaceLookup,
const Acts::Logger & logger )
static

Convert multi layer navigation policy.

Parameters
policyMulti layer navigation policy
gctxGeometry context
surfaceLookupSurface lookup function
loggerLogger instance
Returns
Detray surface grid payload

◆ convertMultiNavigationPolicy()

std::optional< DetraySurfaceGrid > ActsPlugins::DetrayPayloadConverter::convertMultiNavigationPolicy ( const Acts::MultiNavigationPolicy & policy,
const Acts::GeometryContext & gctx,
const SurfaceLookupFunction & surfaceLookup,
const Acts::Logger & logger )
static

Convert multi navigation policy.

Parameters
policyMulti navigation policy
gctxGeometry context
surfaceLookupSurface lookup function
loggerLogger instance
Returns
Detray surface grid payload
Note
This is a noop, the payload converter will actually traverse the children via visit.

◆ convertProtoSurfaceMaterialBinUtility()

std::optional< DetraySurfaceMaterial > ActsPlugins::DetrayPayloadConverter::convertProtoSurfaceMaterialBinUtility ( const Acts::ProtoSurfaceMaterialT< Acts::BinUtility > & material)
static

Convert proto surface material with bin utility.

Parameters
materialProto surface material
Returns
Detray surface material payload

◆ convertProtoSurfaceMaterialProtoAxes()

std::optional< DetraySurfaceMaterial > ActsPlugins::DetrayPayloadConverter::convertProtoSurfaceMaterialProtoAxes ( const Acts::ProtoSurfaceMaterialT< std::vector< Acts::DirectedProtoAxis > > & material)
static

Convert proto surface material with proto axes.

Parameters
materialProto surface material
Returns
Detray surface material payload

◆ convertSurface()

detray::io::surface_payload ActsPlugins::DetrayPayloadConverter::convertSurface ( const Acts::GeometryContext & gctx,
const Acts::Surface & surface,
bool portal = false ) const

Convert surface.

Parameters
gctxGeometry context
surfaceSurface to convert
portalIs portal surface
Returns
Detray surface payload

◆ convertSurfaceArray()

std::optional< DetraySurfaceGrid > ActsPlugins::DetrayPayloadConverter::convertSurfaceArray ( const Acts::SurfaceArrayNavigationPolicy & policy,
const Acts::GeometryContext & gctx,
const SurfaceLookupFunction & surfaceLookup,
const Acts::Logger & logger )
static

Convert surface array navigation policy.

Parameters
policySurface array navigation policy
gctxGeometry context
surfaceLookupSurface lookup function
loggerLogger instance
Returns
Detray surface grid payload

◆ convertTrackingGeometry()

Payloads ActsPlugins::DetrayPayloadConverter::convertTrackingGeometry ( const Acts::GeometryContext & gctx,
const Acts::TrackingGeometry & geometry ) const

Convert tracking geometry.

Parameters
gctxGeometry context
geometryTracking geometry to convert
Returns
Detray payloads

◆ convertTryAllNavigationPolicy()

std::optional< DetraySurfaceGrid > ActsPlugins::DetrayPayloadConverter::convertTryAllNavigationPolicy ( const Acts::TryAllNavigationPolicy & policy,
const Acts::GeometryContext & gctx,
const SurfaceLookupFunction & surfaceLookup,
const Acts::Logger & logger )
static

Convert try all navigation policy.

Parameters
policyTry all navigation policy
gctxGeometry context
surfaceLookupSurface lookup function
loggerLogger instance
Returns
Detray surface grid payload

◆ convertVolume()

detray::io::volume_payload ActsPlugins::DetrayPayloadConverter::convertVolume ( const Acts::GeometryContext & gctx,
const Acts::TrackingVolume & volume ) const

Convert volume.

Parameters
gctxGeometry context
volumeVolume to convert
Returns
Detray volume payload