ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::RiddersPropagator< propagator_t > Class Template Reference

This class performs the Ridders algorithm to estimate the propagation of the covariance to a certain point in space. More...

#include <Acts/Propagator/RiddersPropagator.hpp>

Public Types

using Navigator = Propagator::Navigator
 Type of the navigator in use.
using NavigatorOptions = Propagator::NavigatorOptions
 Type of the navigator options.
using NavigatorState = Propagator::NavigatorState
 Type of the navigator state.
template<typename actor_list_t = ActorList<>>
using Options = RiddersPropagatorOptions<propagator_t, actor_list_t>
 Type of the propagator options with actor list.
using Propagator = propagator_t
 Type of the propagator used internally.
template<typename propagator_options_t>
using ResultType
 Type of the propagation result derived from the propagator options.
template<typename propagator_options_t>
using State = Propagator::template State<propagator_options_t>
 Type of the propagation state derived from the propagator options.
using Stepper = Propagator::Stepper
 Type of the stepper in use.
using StepperOptions = Propagator::StepperOptions
 Type of the stepper options.
using StepperState = Propagator::StepperState
 Type of the stepper state.

Public Member Functions

 RiddersPropagator (propagator_t propagator)
 Constructor using a propagator.
template<typename parameters_t, typename propagator_options_t>
Result< ResultType< propagator_options_t > > propagate (const parameters_t &start, const propagator_options_t &options) const
 Propagation method targeting curvilinear parameters.
template<typename parameters_t, typename propagator_options_t>
Result< ResultType< propagator_options_t > > propagate (const parameters_t &start, const Surface &target, const propagator_options_t &options) const
 Propagation method targeting bound parameters.

Detailed Description

template<typename propagator_t>
class Acts::RiddersPropagator< propagator_t >

This class performs the Ridders algorithm to estimate the propagation of the covariance to a certain point in space.

The algorithm is based on the small deviations of the start parameters based on their uncertainty at the beginning of the propagation. This deviation is represented here by a vector of relative deviations of these parameters and fix for all parameters. So, a common choice has to be found that is able to actually fit into the order of magnitude of the uncertainty of each parameter. Using these deviations, the propagation is repeated multiple times and the final covariance matrix at a given target surface is afterwards evaluated by first order derivatives of the final state parameters wrt. the initial parameters. Therefore this evaluation represents a first order approximation of the transport jacobian. Since performing multiple propagations and a numerical evaluation of the covariance requires more time than a single propagation towards a target + a common propagation of the covariance, this class just serves to verify the results of the latter classes.

Member Typedef Documentation

◆ Navigator

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::Navigator = Propagator::Navigator

Type of the navigator in use.

◆ NavigatorOptions

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::NavigatorOptions = Propagator::NavigatorOptions

Type of the navigator options.

◆ NavigatorState

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::NavigatorState = Propagator::NavigatorState

Type of the navigator state.

◆ Options

template<typename propagator_t>
template<typename actor_list_t = ActorList<>>
using Acts::RiddersPropagator< propagator_t >::Options = RiddersPropagatorOptions<propagator_t, actor_list_t>

Type of the propagator options with actor list.

◆ Propagator

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::Propagator = propagator_t

Type of the propagator used internally.

◆ ResultType

template<typename propagator_t>
template<typename propagator_options_t>
using Acts::RiddersPropagator< propagator_t >::ResultType
Initial value:
typename Propagator::template ResultType<propagator_options_t>
typename Propagator::template ResultType< propagator_options_t > ResultType
Type of the propagation result derived from the propagator options.
Definition RiddersPropagator.hpp:121

Type of the propagation result derived from the propagator options.

Template Parameters
propagator_options_tType of the propagator options

◆ State

template<typename propagator_t>
template<typename propagator_options_t>
using Acts::RiddersPropagator< propagator_t >::State = Propagator::template State<propagator_options_t>

Type of the propagation state derived from the propagator options.

Template Parameters
propagator_options_tType of the propagator options

◆ Stepper

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::Stepper = Propagator::Stepper

Type of the stepper in use.

◆ StepperOptions

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::StepperOptions = Propagator::StepperOptions

Type of the stepper options.

◆ StepperState

template<typename propagator_t>
using Acts::RiddersPropagator< propagator_t >::StepperState = Propagator::StepperState

Type of the stepper state.

Constructor & Destructor Documentation

◆ RiddersPropagator()

template<typename propagator_t>
Acts::RiddersPropagator< propagator_t >::RiddersPropagator ( propagator_t propagator)
explicit

Constructor using a propagator.

Parameters
[in]propagatorThe propagator to use

Member Function Documentation

◆ propagate() [1/2]

template<typename propagator_t>
template<typename parameters_t, typename propagator_options_t>
Result< ResultType< propagator_options_t > > Acts::RiddersPropagator< propagator_t >::propagate ( const parameters_t & start,
const propagator_options_t & options ) const

Propagation method targeting curvilinear parameters.

Template Parameters
parameters_tType of the start parameters
propagator_options_tType of the propagator options
Parameters
[in]startStart parameters
[in]optionsOptions of the propagations
Returns
Result of the propagation

◆ propagate() [2/2]

template<typename propagator_t>
template<typename parameters_t, typename propagator_options_t>
Result< ResultType< propagator_options_t > > Acts::RiddersPropagator< propagator_t >::propagate ( const parameters_t & start,
const Surface & target,
const propagator_options_t & options ) const

Propagation method targeting bound parameters.

Template Parameters
parameters_tType of the start parameters
propagator_options_tType of the propagator options
Parameters
[in]startStart parameters
[in]targetThe target surface
[in]optionsOptions of the propagations
Returns
Result of the propagation
Note
If the target surface is a disc, the resulting covariance may be inconsistent. In this case a zero matrix is returned.