Struct DefaultExtension¶
Defined in File DefaultExtension.hpp
Struct Documentation¶
-
struct
Acts
::
DefaultExtension
¶ Default evaluater of the k_i’s and elements of the transport matrix D of the RKN4 stepping.
This is a pure implementation by textbook.
Public Functions
-
DefaultExtension
() = default¶ Default constructor.
-
template<typename
propagator_state_t
, typenamestepper_t
>
intbid
(const propagator_state_t&, const stepper_t&) const¶ Control function if the step evaluation would be valid.
- Return
Boolean flag if the step would be valid
- Template Parameters
propagator_state_t
: Type of the state of the propagatorstepper_t
: Type of the stepper
-
template<typename
propagator_state_t
, typenamestepper_t
>
boolfinalize
(propagator_state_t &state, const stepper_t &stepper, 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.
- Return
Boolean flag if the calculation is valid
- Template Parameters
propagator_state_t
: Type of the state of the propagatorstepper_t
: Type of the stepper
- Parameters
[in] state
: State of the propagator[in] stepper
: Stepper of the propagation[in] h
: Step size
-
template<typename
propagator_state_t
, typenamestepper_t
>
boolfinalize
(propagator_state_t &state, const stepper_t &stepper, 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.
- Return
Boolean flag if the calculation is valid
- Template Parameters
propagator_state_t
: Type of the state of the propagatorstepper_t
: Type of the stepper
- Parameters
[in] state
: State of the propagator[in] stepper
: Stepper of the propagation[in] h
: Step size[out] D
: Transport matrix
-
template<typename
propagator_state_t
, typenamestepper_t
>
boolk
(const propagator_state_t &state, const stepper_t &stepper, Vector3D &knew, const Vector3D &bField, std::array<double, 4> &kQoP, const int i = 0, const double h = 0., const Vector3D &kprev = Vector3D())¶ Evaluater of the k_i’s of the RKN4.
For the case of i = 0 this step sets up qop, too.
- Return
Boolean flag if the calculation is valid
- Template Parameters
propagator_state_t
: Type of the state of the propagatorstepper_t
: Type of the stepper
- Parameters
[in] state
: State of the propagator[in] stepper
: Stepper of the propagation[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] i
: Index of the k_i, i = [0, 3][in] h
: Step size (= 0. ^ 0.5 * StepSize ^ StepSize)[in] kprev
: Evaluated k_{i - 1}
-