A navigation state object used to cache the information of the current navigation stream.
More...
|
|
| base_state ()=delete |
| | Default constructor (needs a detector).
|
| constexpr | base_state (const detector_t &det) |
| | Constructor using a given detector.
|
| template<concepts::device_view view_t> |
| constexpr | base_state (const detector_t &det, view_t view) |
| | Construct from detector.
|
| constexpr void | abort (const char *custom_msg="Navigator (unknown reason)") |
| | Navigation state that cannot be recovered from.
|
template<typename debug_msg_generator_t>
requires (!std::same_as<char *, debug_msg_generator_t>) |
| constexpr void | abort (const debug_msg_generator_t &debug_msg_generator) |
| | Navigation state that cannot be recovered from.
|
| constexpr auto | begin () const -> candidate_const_itr_t |
| constexpr bool | cache_exhausted () const |
| constexpr auto | candidates () const -> const candidate_cache_t & |
| constexpr auto | cbegin () const -> candidate_const_itr_t |
| constexpr auto | cend () const -> candidate_const_itr_t |
| constexpr auto | current () const -> const candidate_t & |
| template<template< typename > class surface_t = tracking_surface> |
| constexpr auto | current_surface () const |
| template<template< typename > class volume_t = tracking_volume> |
| constexpr auto | current_volume () const |
| constexpr auto | detector () const -> const detector_t & |
| constexpr auto | direction () const -> navigation::direction |
| constexpr auto | encountered_sf_material () const -> bool |
| | Helper method to check the track has encountered material.
|
| constexpr auto | end () const -> candidate_const_itr_t |
| constexpr void | exit () |
| | Navigation reaches final target or leaves detector world.
|
| constexpr scalar_t | external_tol () const |
| constexpr bool | finished () const |
| constexpr auto | geometry_identifier () const -> geometry::identifier |
| constexpr auto & | inspector () |
| constexpr const auto & | inspector () const |
| constexpr bool | is_alive () const |
| constexpr bool | is_edge_candidate () const |
| constexpr bool | is_good_candidate () const |
| constexpr auto | is_on_passive () const -> bool |
| | Helper method to check the track has reached a passive surface.
|
| constexpr auto | is_on_portal () const -> bool |
| | Helper method to check the track has reached a portal surface.
|
| constexpr auto | is_on_sensitive () const -> bool |
| | Helper method to check the track has reached a sensitive surface.
|
| constexpr auto | is_on_surface () const -> bool |
| | Helper method to check the track has reached a module surface.
|
| constexpr bool | is_probably_candidate () const |
| constexpr auto | last () const -> const candidate_t & |
| constexpr auto | n_candidates () const -> dindex |
| template<template< typename > class surface_t = tracking_surface> |
| constexpr auto | next_surface () const |
| template<template< typename > class volume_t = tracking_volume> |
| constexpr auto | next_volume () const |
| constexpr scalar_t | operator() () const |
| | Scalar representation of the navigation state,.
|
|
constexpr void | pause () |
| | Navigation is being paused by actor: Maintain the navigation state and resume later.
|
| constexpr void | set_direction (const navigation::direction dir) |
| | Set direction in which the navigator should search for candidates.
|
| constexpr void | set_external_tol (const scalar_t tol) |
| | Set externally provided mask tolerance according to noise prediction.
|
| constexpr void | set_volume (dindex v) |
| | Set start/new volume from volume index.
|
| constexpr auto | status () const -> navigation::status |
| constexpr auto | target () const -> const candidate_t & |
| constexpr auto | trust_level () const -> navigation::trust_level |
| constexpr auto | volume () const -> nav_link_t |
|
constexpr void | set_no_trust () |
| | Update navigation trust level to 'no trust'.
|
| constexpr void | set_high_trust () |
| constexpr void | set_fair_trust () |
| constexpr decltype(auto) | back () const |
| | Return a reference to the last element.
|
| constexpr auto | data () const |
| | Return a pointer to the first element, or null for an empty view.
|
| constexpr auto | empty () const -> bool |
| | Check whether the view contains no elements.
|
| constexpr decltype(auto) | front () const |
| | Return a reference to the first element.
|
| constexpr | operator bool () const |
| | Test whether the view contains at least one element.
|
| constexpr decltype(auto) | operator[] (const dindex i) const |
| | Subscript operator that takes detray dindex.
|
| constexpr auto | size () const |
| | Return the number of elements in the view.
|
|
|
using | algebra_t = typename detector_t::algebra_type |
| | Detector algebra type.
|
|
using | candidate_cache_t = darray<candidate_t, k_cache_capacity> |
| | Fixed-capacity cache of intersection candidates.
|
|
using | candidate_const_itr_t = typename candidate_cache_t::const_iterator |
| | Const iterator into the candidate cache.
|
|
using | candidate_itr_t = typename candidate_cache_t::iterator |
| | Mutable iterator into the candidate cache.
|
|
using | candidate_t = intersection_t |
| | Intersection result stored as a navigation candidate.
|
|
using | dist_t = std::int_least8_t |
| | Signed type used for candidate cache positions.
|
|
using | nav_link_t = typename detector_t::surface_type::navigation_link |
| | Type used to link to a detector volume during navigation.
|
|
using | point3_t = dpoint3D<algebra_t> |
| | Three-dimensional point type associated with the detector algebra.
|
|
using | scalar_t = dscalar<algebra_t> |
| | Scalar type associated with the detector algebra.
|
|
using | vector3_t = dvector3D<algebra_t> |
| | Three-dimensional vector type associated with the detector algebra.
|
template<typename derived_t, concepts::detector detector_t, std::size_t k_cache_capacity, typename inspector_t, typename intersection_t>
class detray::navigation::base_state< derived_t, detector_t, k_cache_capacity, inspector_t, intersection_t >
A navigation state object used to cache the information of the current navigation stream.
The state is passed between navigation calls and is accessible to the actors in the propagation, for which it defines the public interface towards the navigation. The navigator class is responsible for updating the elements in the navigation state with every navigation call, establishing 'full trust' after changes to the track state reduced the trust level.
- Template Parameters
-
| detector_t | the type of the detector that is being navigated |
| k_cache_capacity | number of object candidates the state can hold |
| inspector_t | is a validation inspector that can record information about the navigation state at different points of the nav. flow. |
| intersection_t | result of an intersection operation |
template<typename derived_t, concepts::detector detector_t, std::size_t k_cache_capacity, typename inspector_t, typename intersection_t>
template<typename debug_msg_generator_t>
requires (!std::same_as<char *, debug_msg_generator_t>)
| void detray::navigation::base_state< derived_t, detector_t, k_cache_capacity, inspector_t, intersection_t >::abort |
( |
const debug_msg_generator_t & | debug_msg_generator | ) |
|
|
constexpr |
Navigation state that cannot be recovered from.
Leave the other data for inspection.
- Parameters
-
| debug_msg_generator | functor that returns additional information on the reason for the error |