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

An inspector that aggregates a number of different inspectors. More...

#include <detray/test/utils/inspectors.hpp>

Public Types

using const_view_type = dmulti_view<detail::get_view_t<const Inspectors>...>
 Const device view type for the contained inspectors.
using inspector_tuple_t = std::tuple<Inspectors...>
 Tuple type storing the inspectors.
using view_type = dmulti_view<detail::get_view_t<Inspectors>...>
 Device view type for the contained inspectors.

Public Member Functions

 aggregate_inspector ()=default
 Default constructor.
template<concepts::device_view view_t>
 aggregate_inspector (view_t &view)
 Construct from the inspector.
template<std::size_t I>
constexpr decltype(auto) get ()
template<typename inspector_t>
constexpr decltype(auto) get ()
template<std::size_t I>
constexpr decltype(auto) get () const
template<typename inspector_t>
constexpr decltype(auto) get () const
template<unsigned int current_id = 0, typename state_type, typename... Args>
auto operator() (state_type &state, const char *message, Args &&...args)
 Inspector interface.
template<unsigned int current_id = 0, typename state_type, concepts::point3D point3_t, concepts::vector3D vector3_t, typename... Args>
auto operator() (state_type &state, const navigation::config &cfg, const point3_t &pos, const vector3_t &dir, const char *message, Args &&...args)
 Inspector interface.
template<concepts::device_view view_t, std::size_t... I>
constexpr auto unroll_views (view_t &view, std::index_sequence< I... >)

Public Attributes

inspector_tuple_t _inspectors {}
 Inspectors aggregated by this object.

Detailed Description

template<typename... Inspectors>
struct detray::aggregate_inspector< Inspectors >

An inspector that aggregates a number of different inspectors.

Constructor & Destructor Documentation

◆ aggregate_inspector()

template<typename... Inspectors>
template<concepts::device_view view_t>
detray::aggregate_inspector< Inspectors >::aggregate_inspector ( view_t & view)
explicit

Construct from the inspector.

Parameters
viewtype. Mainly used device-side.

Member Function Documentation

◆ get() [1/4]

template<typename... Inspectors>
template<std::size_t I>
decltype(auto) detray::aggregate_inspector< Inspectors >::get ( )
constexpr
Returns
a specific inspector by index

◆ get() [2/4]

template<typename... Inspectors>
template<typename inspector_t>
decltype(auto) detray::aggregate_inspector< Inspectors >::get ( )
constexpr
Returns
a specific inspector by type

◆ get() [3/4]

template<typename... Inspectors>
template<std::size_t I>
decltype(auto) detray::aggregate_inspector< Inspectors >::get ( ) const
constexpr
Returns
a specific inspector by index - const

◆ get() [4/4]

template<typename... Inspectors>
template<typename inspector_t>
decltype(auto) detray::aggregate_inspector< Inspectors >::get ( ) const
constexpr
Returns
a specific inspector by type - const

◆ operator()() [1/2]

template<typename... Inspectors>
template<unsigned int current_id = 0, typename state_type, typename... Args>
auto detray::aggregate_inspector< Inspectors >::operator() ( state_type & state,
const char * message,
Args &&... args )

Inspector interface.

Parameters
stateState passed to each inspector.
messageMessage associated with the inspection.
argsAdditional inspector arguments.
Returns
Result of the last inspector call.

◆ operator()() [2/2]

template<typename... Inspectors>
template<unsigned int current_id = 0, typename state_type, concepts::point3D point3_t, concepts::vector3D vector3_t, typename... Args>
auto detray::aggregate_inspector< Inspectors >::operator() ( state_type & state,
const navigation::config & cfg,
const point3_t & pos,
const vector3_t & dir,
const char * message,
Args &&... args )

Inspector interface.

Parameters
stateState passed to each inspector.
cfgNavigation configuration.
posCurrent track position.
dirCurrent track direction.
messageMessage associated with the inspection.
argsAdditional inspector arguments.
Returns
Result of the last inspector call.

◆ unroll_views()

template<typename... Inspectors>
template<concepts::device_view view_t, std::size_t... I>
auto detray::aggregate_inspector< Inspectors >::unroll_views ( view_t & view,
std::index_sequence< I... >  )
constexpr
Returns
a tuple constructed from the inspector view.
Parameters
viewDevice view containing the inspector views. The index sequence selects the view for each inspector.