ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
detray::navigator< detector_t, inspector_t, intersection_t >::state Class Reference

Navigation state that contains a the current and the next candidates. More...

#include <detray/navigation/navigator.hpp>

Inheritance diagram for detray::navigator< detector_t, inspector_t, intersection_t >::state:
[legend]
Collaboration diagram for detray::navigator< detector_t, inspector_t, intersection_t >::state:
[legend]

Public Types

using const_view_type = detail::get_view_t<const inspector_t>
 Const view type exposing inspector state.
using value_type = typename base_type::candidate_t
 Value type stored in the bins or result.
using view_type = detail::get_view_t<inspector_t>
 View type exposing inspector state.
Public Types inherited from detray::navigation::base_state< state, detector_type, 2u, inspector_type, intersection_type >
using detector_type
 Detector type associated with this navigation state.

Public Member Functions

constexpr auto n_candidates () const -> dindex
constexpr void set_high_trust ()
 Update navigation trust level to high trust.
constexpr void set_fair_trust ()
 Preserve high trust for this single-candidate navigator.
Public Member Functions inherited from detray::navigation::base_state< state, detector_type, 2u, inspector_type, intersection_type >
 base_state ()=delete
 Default constructor (needs a detector).
constexpr base_state (const detector_t &det)
 Constructor using a given detector.
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.
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 &
constexpr auto current_surface () const
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
constexpr auto next_surface () const
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 ()
Public Member Functions inherited from detray::ranges::view_interface< view_impl_t >
template<detray::ranges::bidirectional_range R = view_impl_t>
constexpr decltype(auto) back ()
 Return a writable reference to the last element.
template<detray::ranges::bidirectional_range R = view_impl_t>
constexpr decltype(auto) back () const
 Return a reference to the last element.
constexpr auto data ()
 Return a writable pointer to the first element, or null if empty.
constexpr auto data () const
 Return a pointer to the first element, or null for an empty view.
template<detray::ranges::forward_range R = view_impl_t>
constexpr auto empty () const -> bool
 Check whether the view contains no elements.
template<detray::ranges::forward_range R = view_impl_t>
constexpr decltype(auto) front ()
 Return a writable reference to the first element.
template<detray::ranges::forward_range R = view_impl_t>
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.
template<detray::ranges::random_access_range R = view_impl_t>
constexpr decltype(auto) operator[] (const dindex i)
 Subscript operator that takes detray dindex.
template<detray::ranges::random_access_range R = view_impl_t>
constexpr decltype(auto) operator[] (const dindex i) const
 Subscript operator that takes detray dindex.
template<detray::ranges::forward_range R = view_impl_t>
constexpr auto size () const
 Return the number of elements in the view.

Additional Inherited Members

Static Public Member Functions inherited from detray::navigation::base_state< state, detector_type, 2u, inspector_type, intersection_type >
static consteval std::size_t capacity ()
Protected Types inherited from detray::navigation::base_state< state, detector_type, 2u, inspector_type, intersection_type >
using algebra_t
 Detector algebra type.
using candidate_cache_t
 Fixed-capacity cache of intersection candidates.
using candidate_const_itr_t
 Const iterator into the candidate cache.
using candidate_itr_t
 Mutable iterator into the candidate cache.
using candidate_t
 Intersection result stored as a navigation candidate.
using dist_t
 Signed type used for candidate cache positions.
using nav_link_t
 Type used to link to a detector volume during navigation.
using point3_t
 Three-dimensional point type associated with the detector algebra.
using scalar_t
 Scalar type associated with the detector algebra.
using vector3_t
 Three-dimensional vector type associated with the detector algebra.
Protected Member Functions inherited from detray::navigation::base_state< state, detector_type, 2u, inspector_type, intersection_type >
constexpr auto advance () -> void
 Set the next surface that we want to reach (update target).
constexpr auto begin () -> candidate_itr_t
constexpr auto candidates () -> candidate_cache_t &
constexpr void clear_cache ()
 Clear the state.
constexpr auto current () -> candidate_t &
constexpr auto end () -> candidate_itr_t
constexpr auto last () -> candidate_t &
constexpr dist_t last_index () const
constexpr void last_index (dist_t pos)
 Set the next surface that we want to reach (update target).
constexpr dist_t next_index () const
constexpr void next_index (dist_t pos)
 Set the next surface that we want to reach (update target).
constexpr void run_inspector (const navigation::config &cfg, const point3_t &track_pos, const vector3_t &track_dir, const char *message)
 Call the navigation inspector.
constexpr void run_inspector (const navigation::config &cfg, const point3_t &track_pos, const vector3_t &track_dir, const char *message, const debug_msg_generator_t &msg_gen)
 Call the navigation inspector.
constexpr void set_last (candidate_const_itr_t new_last)
 Updates the position of the last valid candidate.
constexpr void set_next (candidate_const_itr_t new_next)
 Set the next surface that we want to reach (update target).
constexpr void status (navigation::status s)
 Set the status to.
constexpr auto target () -> candidate_t &
constexpr void trust_level (navigation::trust_level t)
 Reset the trustlevel to.

Detailed Description

template<concepts::detector detector_t, typename inspector_t = navigation::void_inspector, typename intersection_t = intersection2D< typename detector_t::surface_type, typename detector_t::algebra_type, !intersection::contains_pos>>
class detray::navigator< detector_t, inspector_t, intersection_t >::state

Navigation state that contains a the current and the next candidates.

Member Function Documentation

◆ n_candidates()

template<concepts::detector detector_t, typename inspector_t = navigation::void_inspector, typename intersection_t = intersection2D< typename detector_t::surface_type, typename detector_t::algebra_type, !intersection::contains_pos>>
auto detray::navigator< detector_t, inspector_t, intersection_t >::state::n_candidates ( ) const->dindex
constexpr
Returns
the navigator always has only one candidate