ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::default_metadata< algebra_t > Struct Template Reference

Type and storage policy used to assemble a detector from geometry and material components. More...

#include <detray/detectors/default_metadata.hpp>

Public Types

enum class  accel_id : std::uint_least8_t {
  e_surface_brute_force = 0u , e_surface_concentric_cylinder2D_grid = 1u , e_surface_ring2D_grid = 2u , e_surface_cylinder2D_grid = 3u ,
  e_volume_brute_force = 4u , e_volume_cylinder3D_grid = 5u , e_surface_default = e_surface_brute_force , e_volume_default = e_volume_cylinder3D_grid
}
 Identifiers for navigation accelerator alternatives.
template<typename container_t = host_container_types>
using accelerator_store
 Store type holding the corresponding detector component collection.
using algebra_type = algebra_t
 Algebra backend used by this detector metadata.
using annulus2D_t = mask<detray::annulus2D, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename container_t>
using concentric_cylinder2D_map_t
 Material map type associated with this surface shape.
using concentric_cylinder2D_t
 Type alias used by this detector metadata configuration.
template<typename container_t>
using cuboid3D_map_t
 Material map type associated with this surface shape.
template<typename container_t>
using cylinder2D_map_t
 Material map type associated with this surface shape.
using cylinder2D_t = mask<detray::cylinder2D, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename container_t>
using cylinder3D_map_t
 Material map type associated with this surface shape.
using drift_cell_t = mask<detray::line_square, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename axes_t, typename bin_entry_t, typename container_t>
using dynamic_simple_grid_t
 Grid type used to index the corresponding detector components.
enum  geo_objects : std::uint_least8_t {
  e_passive = 0u , e_portal = 0u , e_sensitive = 1u , e_volume = 2u ,
  e_size = 3u , e_all = e_size
}
 Categories used to distinguish detector geometry objects.
enum class  mask_id : std::uint_least8_t {
  e_rectangle2D = 0u , e_drift_cell = 1u , e_trapezoid2D = 2u , e_straw_tube = 3u ,
  e_concentric_cylinder2D = 4u , e_ring2D = 5u , e_annulus2D = 6u , e_cylinder2D = 7u
}
 Identifiers for the supported surface masks.
using mask_link = typename mask_store<>::range_link
 Link type used to refer to the corresponding detector component store.
template<template< typename... > class vector_t = dvector>
using mask_store
 Store type holding the corresponding detector component collection.
enum class  material_id : std::uint_least8_t {
  e_rectangle2D_map = 0u , e_trapezoid2D_map = 0u , e_material_slab = 1u , e_concentric_cylinder2D_map = 2u ,
  e_ring2D_map = 3u , e_annulus2D_map = 3u , e_raw_material = 4u , e_material_rod = 5u ,
  e_cylinder3D_map = 6u , e_cylinder2D_map = 7u , e_cuboid3D_map = 8u , e_none = 9u
}
 Identifiers for material payload and map alternatives.
using material_link = typename material_store<>::single_link
 Link type used to refer to the corresponding detector component store.
using material_rod_t = material_rod<scalar_t>
 Material representation used by this detector metadata.
using material_slab_t = material_slab<scalar_t>
 Material representation used by this detector metadata.
template<typename container_t = host_container_types>
using material_store
 Store type holding the corresponding detector component collection.
using nav_link = std::uint_least16_t
 Link type used to refer to the corresponding detector component store.
using object_link_type
 Link type used to refer to the corresponding detector component store.
using raw_material_t = material<scalar_t>
 Material representation used by this detector metadata.
template<typename container_t>
using rectangle2D_map_t
 Material map type associated with this surface shape.
using rectangle2D_t = mask<detray::rectangle2D, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename container_t>
using ring2D_map_t = material_map<algebra_type, detray::ring2D, container_t>
 Material map type associated with this surface shape.
using ring2D_t = mask<detray::ring2D, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
using scalar_t = dscalar<algebra_type>
 Scalar type associated with the selected algebra backend.
template<typename axes_t, typename bin_entry_t, typename container_t>
using single_simple_grid_t
 Grid type used to index the corresponding detector components.
using straw_tube_t = mask<detray::line_circular, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename container_t>
using surface_concentric_cylinder2D_grid_t
 Grid type used to index the corresponding detector components.
template<typename container_t>
using surface_cylinder2D_grid_t
 Grid type used to index the corresponding detector components.
template<typename container_t>
using surface_ring2D_grid_t
 Grid type used to index the corresponding detector components.
using surface_type
 Surface descriptor type combining links to its geometry components.
using transform_link = typename transform_store<>::single_link
 Link type used to refer to the corresponding detector component store.
template<template< typename... > class vector_t = dvector>
using transform_store
 Store type holding the corresponding detector component collection.
using trapezoid2D_t = mask<detray::trapezoid2D, algebra_type, nav_link>
 Type alias used by this detector metadata configuration.
template<typename container_t>
using volume_cylinder3D_grid_t
 Grid type used to index the corresponding detector components.

Detailed Description

template<concepts::algebra algebra_t>
struct detray::default_metadata< algebra_t >

Type and storage policy used to assemble a detector from geometry and material components.

Member Typedef Documentation

◆ accelerator_store

template<concepts::algebra algebra_t>
template<typename container_t = host_container_types>
using detray::default_metadata< algebra_t >::accelerator_store
Initial value:
multi_store<
accel_id, empty_context, dtuple,
A collection of brute force surface finders, callable by index.
Definition brute_force.hpp:38
A collection of grids that can be moved to device as part of the detector.
Definition grid_collection.hpp:31
detray::tuple< types... > dtuple
Tuple type used by detray storage and dispatch.
Definition containers.hpp:46
accel_id
Identifiers for navigation accelerator alternatives.
Definition default_metadata.hpp:268

Store type holding the corresponding detector component collection.

◆ concentric_cylinder2D_map_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::concentric_cylinder2D_map_t
Initial value:
grid< algebra_t, axes< shape_t >, bins::single< material_slab< dscalar< algebra_t > > >, simple_serializer, container_t, owning > material_map
Definition of binned material.
Definition material_map.hpp:29

Material map type associated with this surface shape.

◆ concentric_cylinder2D_t

template<concepts::algebra algebra_t>
using detray::default_metadata< algebra_t >::concentric_cylinder2D_t
Initial value:
Mask a region on a surface and link it to a volume.
Definition mask.hpp:46

Type alias used by this detector metadata configuration.

◆ cuboid3D_map_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::cuboid3D_map_t
Initial value:

Material map type associated with this surface shape.

◆ cylinder2D_map_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::cylinder2D_map_t
Initial value:

Material map type associated with this surface shape.

◆ cylinder3D_map_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::cylinder3D_map_t
Initial value:

Material map type associated with this surface shape.

◆ dynamic_simple_grid_t

template<concepts::algebra algebra_t>
template<typename axes_t, typename bin_entry_t, typename container_t>
using detray::default_metadata< algebra_t >::dynamic_simple_grid_t
Initial value:
detray::simple_serializer, container_t, false>
Bin that views a collection of entries it does not own.
Definition grid_bins.hpp:206
spatial_grid_impl< grid_impl< coordinate_axes< axes_t, algebra_t, ownership, containers >, bin_t, simple_serializer > > spatial_grid
Spatial grid alias built from coordinate axes and a bin type.
Definition spatial_grid.hpp:275
algebra_t algebra_type
Algebra backend used by this detector metadata.
Definition default_metadata.hpp:42

Grid type used to index the corresponding detector components.

◆ mask_store

template<concepts::algebra algebra_t>
template<template< typename... > class vector_t = dvector>
using detray::default_metadata< algebra_t >::mask_store
Initial value:
regular_multi_store<mask_id, empty_context, dtuple, vector_t,
mask< detray::trapezoid2D, algebra_type, nav_link > trapezoid2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:59
mask< detray::rectangle2D, algebra_type, nav_link > rectangle2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:55
mask< detray::concentric_cylinder2D, algebra_type, nav_link > concentric_cylinder2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:63
mask_id
Identifiers for the supported surface masks.
Definition default_metadata.hpp:73
mask< detray::line_square, algebra_type, nav_link > drift_cell_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:57
mask< detray::annulus2D, algebra_type, nav_link > annulus2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:68
mask< detray::line_circular, algebra_type, nav_link > straw_tube_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:61
mask< detray::ring2D, algebra_type, nav_link > ring2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:66
mask< detray::cylinder2D, algebra_type, nav_link > cylinder2D_t
Type alias used by this detector metadata configuration.
Definition default_metadata.hpp:70

Store type holding the corresponding detector component collection.

◆ material_store

template<concepts::algebra algebra_t>
template<typename container_t = host_container_types>
using detray::default_metadata< algebra_t >::material_store
Initial value:
multi_store<material_id, empty_context, dtuple,
typename container_t::template vector_type<material_slab_t>,
typename container_t::template vector_type<raw_material_t>,
typename container_t::template vector_type<material_rod_t>,
material_id
Identifiers for material payload and map alternatives.
Definition default_metadata.hpp:156

Store type holding the corresponding detector component collection.

◆ object_link_type

template<concepts::algebra algebra_t>
using detray::default_metadata< algebra_t >::object_link_type
Initial value:
detail::multi_index< index_t, DIM > dmulti_index
Index that consists of multiple subindices.
Definition indexing.hpp:33

Link type used to refer to the corresponding detector component store.

◆ rectangle2D_map_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::rectangle2D_map_t
Initial value:

Material map type associated with this surface shape.

◆ single_simple_grid_t

template<concepts::algebra algebra_t>
template<typename axes_t, typename bin_entry_t, typename container_t>
using detray::default_metadata< algebra_t >::single_simple_grid_t
Initial value:
detray::simple_serializer, container_t, false>

Grid type used to index the corresponding detector components.

◆ surface_concentric_cylinder2D_grid_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::surface_concentric_cylinder2D_grid_t
Initial value:
container_t>
spatial_grid< algebra_type, axes_t, detray::bins::dynamic_array< bin_entry_t >, detray::simple_serializer, container_t, false > dynamic_simple_grid_t
Grid type used to index the corresponding detector components.
Definition default_metadata.hpp:236
surface_descriptor< mask_link, material_link, transform_link, nav_link > surface_type
Surface descriptor type combining links to its geometry components.
Definition default_metadata.hpp:231

Grid type used to index the corresponding detector components.

◆ surface_cylinder2D_grid_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::surface_cylinder2D_grid_t
Initial value:

Grid type used to index the corresponding detector components.

◆ surface_ring2D_grid_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::surface_ring2D_grid_t
Initial value:

Grid type used to index the corresponding detector components.

◆ surface_type

template<concepts::algebra algebra_t>
using detray::default_metadata< algebra_t >::surface_type
Initial value:
Templated surface class for detector surfaces and portals.
Definition surface_descriptor.hpp:35

Surface descriptor type combining links to its geometry components.

◆ transform_store

template<concepts::algebra algebra_t>
template<template< typename... > class vector_t = dvector>
using detray::default_metadata< algebra_t >::transform_store
Initial value:
single_store<dtransform3D<algebra_type>, vector_t, geometry_context>

Store type holding the corresponding detector component collection.

◆ volume_cylinder3D_grid_t

template<concepts::algebra algebra_t>
template<typename container_t>
using detray::default_metadata< algebra_t >::volume_cylinder3D_grid_t
Initial value:
unsigned int dindex
Default index type.
Definition indexing.hpp:18
spatial_grid< algebra_type, axes_t, detray::bins::single< bin_entry_t >, detray::simple_serializer, container_t, false > single_simple_grid_t
Grid type used to index the corresponding detector components.
Definition default_metadata.hpp:258

Grid type used to index the corresponding detector components.