|
ACTS
Experiment-independent tracking
|
Default evaluator of the k_i's and elements of the transport matrix D of the RKN4 stepping. More...
#include <Acts/Propagator/EigenStepperDefaultExtension.hpp>
Public Member Functions | |
| template<typename stepper_t> | |
| bool | finalize (typename stepper_t::State &state, const stepper_t &stepper, const IVolumeMaterial *volumeMaterial, const double h) const |
| Veto function after a RKN4 step was accepted by judging on the error of the step. | |
| template<typename stepper_t> | |
| bool | finalize (typename stepper_t::State &state, const stepper_t &stepper, const IVolumeMaterial *volumeMaterial, const double h, FreeMatrix &D) const |
| Veto function after a RKN4 step was accepted by judging on the error of the step. | |
| template<int i, typename stepper_t> requires (i >= 0 && i <= 3) | |
| bool | k (const typename stepper_t::State &state, const stepper_t &stepper, const IVolumeMaterial *volumeMaterial, Vector3 &knew, const Vector3 &bField, std::array< double, 4 > &kQoP, const double h=0., const Vector3 &kprev=Vector3::Zero()) |
| Evaluator of the k_i's of the RKN4. | |
Default evaluator of the k_i's and elements of the transport matrix D of the RKN4 stepping.
This is a pure implementation by textbook.
| bool Acts::EigenStepperDefaultExtension::finalize | ( | typename stepper_t::State & | state, |
| const stepper_t & | stepper, | ||
| const IVolumeMaterial * | volumeMaterial, | ||
| const double | h ) const |
Veto function after a RKN4 step was accepted by judging on the error of the step.
Since the textbook does not deliver further vetos, this is a dummy function.
| stepper_t | Type of the stepper |
| [in] | state | State of the stepper |
| [in] | stepper | Stepper of the propagation |
| [in] | volumeMaterial | Material of the volume |
| [in] | h | Step size |
| bool Acts::EigenStepperDefaultExtension::finalize | ( | typename stepper_t::State & | state, |
| const stepper_t & | stepper, | ||
| const IVolumeMaterial * | volumeMaterial, | ||
| const double | h, | ||
| FreeMatrix & | D ) const |
Veto function after a RKN4 step was accepted by judging on the error of the step.
Since the textbook does not deliver further vetos, this is just for the evaluation of the transport matrix.
| stepper_t | Type of the stepper |
| [in] | state | State of the stepper |
| [in] | stepper | Stepper of the propagation |
| [in] | volumeMaterial | Material of the volume |
| [in] | h | Step size |
| [out] | D | Transport matrix |
| bool Acts::EigenStepperDefaultExtension::k | ( | const typename stepper_t::State & | state, |
| const stepper_t & | stepper, | ||
| const IVolumeMaterial * | volumeMaterial, | ||
| Vector3 & | knew, | ||
| const Vector3 & | bField, | ||
| std::array< double, 4 > & | kQoP, | ||
| const double | h = 0., | ||
| const Vector3 & | kprev = Vector3::Zero() ) |
Evaluator of the k_i's of the RKN4.
For the case of i = 0 this step sets up qop, too.
| i | Index of the k_i, i = [0, 3] |
| stepper_t | Type of the stepper |
| [in] | state | State of the stepper |
| [in] | stepper | Stepper of the propagation |
| [in] | volumeMaterial | Material of the volume |
| [out] | knew | Next k_i that is evaluated |
| [in] | bField | B-Field at the evaluation position |
| [out] | kQoP | k_i elements of the momenta |
| [in] | h | Step size (= 0. ^ 0.5 * StepSize ^ StepSize) |
| [in] | kprev | Evaluated k_{i - 1} |