ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::volume_graph< detector_t, node_inspector, vector_t >::edge_generator::edges_builder Struct Reference

Nested functor that fills the edges from a mask container. More...

#include <detray/navigation/volume_graph.hpp>

Public Member Functions

template<typename mask_group_t, typename mask_range_t>
vector_t< edge > operator() (const mask_group_t &mask_group, const mask_range_t &mask_range, const dindex volume_id)
 Builds the collection of graph edges for a given node.

Detailed Description

template<concepts::detector detector_t, typename node_inspector = void_node_inspector<typename detector_t::volume_type>, template< typename... > class vector_t = dvector>
struct detray::volume_graph< detector_t, node_inspector, vector_t >::edge_generator::edges_builder

Nested functor that fills the edges from a mask container.

Member Function Documentation

◆ operator()()

template<concepts::detector detector_t, typename node_inspector = void_node_inspector<typename detector_t::volume_type>, template< typename... > class vector_t = dvector>
template<typename mask_group_t, typename mask_range_t>
vector_t< edge > detray::volume_graph< detector_t, node_inspector, vector_t >::edge_generator::edges_builder::operator() ( const mask_group_t & mask_group,
const mask_range_t & mask_range,
const dindex volume_id )

Builds the collection of graph edges for a given node.

From the volume index and a mask link owned by one of the volumes surfaces a vector of graph edges is built. The mask container calls this functor and provides the correct mask group from which the surface masks can be obtained from the surfaces mask range.

Parameters
mask_groupthe group of masks in the mask container of the detector
volume_idthe index of the volume/node for which to build edges
mask_rangethe range of masks in the group for which to build edges
Returns
edges from the volume to each mask's linked volume