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

State of the parameter updater. More...

#include <detray/propagator/actors/parameter_updater.hpp>

Public Member Functions

constexpr parameter_updater_state ()=default
 Construct an empty updater state.
constexpr parameter_updater_state (const propagation::config &cfg, bound_matrix< algebra_t > *full_jac=nullptr)
 Start without explicit track parameters.
constexpr parameter_updater_state (const propagation::config &cfg, const bound_track_parameters< algebra_t > &bound_params, bound_matrix< algebra_t > *full_jac=nullptr)
 Start from bound track parameters.
constexpr parameter_updater_state (const propagation::config &cfg, const free_track_parameters< algebra_t > &free_params, bound_matrix< algebra_t > *full_jac=nullptr)
 Start from free track parameters.
void always_update (const bool do_update=true)
 Always update the track parameters in the stepper state.
constexpr bound_track_parameters< algebra_t > & bound_params ()
constexpr const bound_track_parameters< algebra_t > & bound_params () const
constexpr const bound_matrix< algebra_t > & full_jacobian () const
constexpr bool has_full_jacobian () const
constexpr void init (const bound_track_parameters< algebra_t > &bound_params)
 Initialize the state from bound track parameters.
constexpr void init (const free_track_parameters< algebra_t > &free_params)
 Initialize the state from free track parameters.
noise_cfg & noise_estimation_cfg ()
const noise_cfg & noise_estimation_cfg () const
void notify_on_initial (const bool do_notify=true)
 Notify the observing actors on the initial propagation surface (i.e.
constexpr void set_full_jacobian (bound_matrix< algebra_t > *jac_ptr)
 Set new full Jacbian.
constexpr void set_full_jacobian (const bound_matrix< algebra_t > &jac)
 Set new full Jacbian.

Detailed Description

template<concepts::algebra algebra_t>
struct detray::actor::parameter_updater_state< algebra_t >

State of the parameter updater.

Used by two distinct steps: Transporter and setter

Constructor & Destructor Documentation

◆ parameter_updater_state() [1/3]

template<concepts::algebra algebra_t>
detray::actor::parameter_updater_state< algebra_t >::parameter_updater_state ( const propagation::config & cfg,
bound_matrix< algebra_t > * full_jac = nullptr )
explicitconstexpr

Start without explicit track parameters.

Parameters
cfgPropagation configuration supplying navigation noise settings.
full_jacOptional storage for the accumulated full Jacobian.

◆ parameter_updater_state() [2/3]

template<concepts::algebra algebra_t>
detray::actor::parameter_updater_state< algebra_t >::parameter_updater_state ( const propagation::config & cfg,
const free_track_parameters< algebra_t > & free_params,
bound_matrix< algebra_t > * full_jac = nullptr )
constexpr

Start from free track parameters.

Parameters
cfgPropagation configuration supplying navigation noise settings.
free_paramsInitial free track parameters.
full_jacOptional storage for the accumulated full Jacobian.

◆ parameter_updater_state() [3/3]

template<concepts::algebra algebra_t>
detray::actor::parameter_updater_state< algebra_t >::parameter_updater_state ( const propagation::config & cfg,
const bound_track_parameters< algebra_t > & bound_params,
bound_matrix< algebra_t > * full_jac = nullptr )
constexpr

Start from bound track parameters.

Parameters
cfgPropagation configuration supplying navigation noise settings.
bound_paramsInitial bound parameters and covariance.
full_jacOptional storage for the accumulated full Jacobian.

Member Function Documentation

◆ always_update()

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::always_update ( const bool do_update = true)

Always update the track parameters in the stepper state.

Otherwise, observing actors decide if the parameters should be updated.

Parameters
do_updateWhether the setter should update unconditionally.

◆ bound_params() [1/2]

template<concepts::algebra algebra_t>
bound_track_parameters< algebra_t > & detray::actor::parameter_updater_state< algebra_t >::bound_params ( )
constexpr
Returns
bound track parameters
Note
Only meaningful, if the navigation is at the corresponding surface

◆ bound_params() [2/2]

template<concepts::algebra algebra_t>
const bound_track_parameters< algebra_t > & detray::actor::parameter_updater_state< algebra_t >::bound_params ( ) const
constexpr
Returns
bound track parameters - const
Note
Only meaningful, if the navigation is at the corresponding surface

◆ full_jacobian()

template<concepts::algebra algebra_t>
const bound_matrix< algebra_t > & detray::actor::parameter_updater_state< algebra_t >::full_jacobian ( ) const
constexpr
Returns
the current full Jacbian.

◆ has_full_jacobian()

template<concepts::algebra algebra_t>
bool detray::actor::parameter_updater_state< algebra_t >::has_full_jacobian ( ) const
constexpr
Returns
true if the full Jacobian matrix should be assembled.

◆ init() [1/2]

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::init ( const bound_track_parameters< algebra_t > & bound_params)
constexpr

Initialize the state from bound track parameters.

Parameters
bound_paramsBound parameters and covariance to copy into the state.

◆ init() [2/2]

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::init ( const free_track_parameters< algebra_t > & free_params)
constexpr

Initialize the state from free track parameters.

Parameters
free_paramsFree parameters used to seed the bound state.

◆ noise_estimation_cfg() [1/2]

template<concepts::algebra algebra_t>
noise_cfg & detray::actor::parameter_updater_state< algebra_t >::noise_estimation_cfg ( )
Returns
access to the noise estimation configuration

◆ noise_estimation_cfg() [2/2]

template<concepts::algebra algebra_t>
const noise_cfg & detray::actor::parameter_updater_state< algebra_t >::noise_estimation_cfg ( ) const
Returns
access to the noise estimation configuration - const

◆ notify_on_initial()

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::notify_on_initial ( const bool do_notify = true)

Notify the observing actors on the initial propagation surface (i.e.

before the stepper advanced the state from the seed parameters)

Parameters
do_notifyWhether observers are called on the initial surface.

◆ set_full_jacobian() [1/2]

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::set_full_jacobian ( bound_matrix< algebra_t > * jac_ptr)
constexpr

Set new full Jacbian.

Parameters
jac_ptrPointer to writable Jacobian storage.

◆ set_full_jacobian() [2/2]

template<concepts::algebra algebra_t>
void detray::actor::parameter_updater_state< algebra_t >::set_full_jacobian ( const bound_matrix< algebra_t > & jac)
constexpr

Set new full Jacbian.

Parameters
jacNew full Jacobian matrix.