Template Class RiddersPropagator¶
Defined in File RiddersPropagator.hpp
Nested Relationships¶
Class Documentation¶
-
template<typename
propagator_t
>
classActs
::
RiddersPropagator
¶ 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 propgation. 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 inital 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.
Public Functions
-
RiddersPropagator
(propagator_t &propagator)¶ Constructor using a propagator.
- Parameters
[in] propagator
: Underlying propagator that will be used
Constructor building a propagator.
- Template Parameters
stepper_t
: Type of the steppernavigator_t
: Type of the navigator
- Parameters
[in] stepper
: Stepper that will be used[in] navigator
: Navigator that will be used
-
template<typename
parameters_t
, typenamepropagator_options_t
>
autopropagate
(const parameters_t &start, const propagator_options_t &options) const -> Result<action_list_t_result_t<CurvilinearParameters, typename propagator_options_t::action_list_type>>¶
-
template<typename
parameters_t
, typenamepropagator_options_t
>
autopropagate
(const parameters_t &start, const Surface &target, const propagator_options_t &options) const -> Result<action_list_t_result_t<BoundParameters, typename propagator_options_t::action_list_type>>¶
-
template<typename
parameters_t
, typenamepropagator_options_t
>
Result<action_list_t_result_t<CurvilinearParameters, typename propagator_options_t::action_list_type>>propagate
(const parameters_t &start, const propagator_options_t &options) const Propagation method targeting curvilinear parameters.
- Return
Result of the propagation
- Template Parameters
parameters_t
: Type of the start parameterspropagator_options_t
: Type of the propagator options
- Parameters
[in] start
: Start parameters[in] options
: Options of the propagations
-
template<typename
parameters_t
, typenamepropagator_options_t
>
Result<action_list_t_result_t<BoundParameters, typename propagator_options_t::action_list_type>>propagate
(const parameters_t &start, const Surface &target, const propagator_options_t &options) const Propagation method targeting bound parameters.
- Return
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.
- Template Parameters
parameters_t
: Type of the start parameterspropagator_options_t
: Type of the propagator options
- Parameters
[in] start
: Start parameters[in] options
: Options of the propagations
-
template<typename
options_t
, typenameparameters_t
>
std::vector<Acts::BoundVector>wiggleDimension
(const options_t &options, const parameters_t &startPars, const unsigned int param, const Surface &target, const Acts::BoundVector &nominal, const std::vector<double> &deviations) const¶
-