ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Container of extensions used in the stepper of the propagation. This struct allows a broadcast of function calls for each element in the list. The broadcasts occur for a certain function at each step in a specific order. The first function is an evaluater if an extension is or how many extensions are applicable for an upcoming step. The next functions called are the evaluations of the k_1 - k_4 or the RKN4 integration. The last function call in a step is the finalize() method. This method is an overloaded function (optionally propagates the covariance). Each method has the possibility to break the evaluation of a given step if an extension reports that something went wrong (e.g. a particle lost too much momentum during the step) More...
#include <acts/blob/master/Core/include/Acts/Propagator/StepperExtensionList.hpp>
Public Member Functions | |
template<typename propagator_state_t , typename stepper_t > | |
bool | validExtensionForStep (const propagator_state_t &state, const stepper_t &stepper) |
Evaluation function to set valid extensions for an upcoming integration step. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | k1 (const propagator_state_t &state, const stepper_t &stepper, Vector3D &knew, const Vector3D &bField, std::array< double, 4 > &kQoP) |
This functions broadcasts the call for evaluating k1. It collects all arguments and extensions, test their validity for the evaluation and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | k2 (const propagator_state_t &state, const stepper_t &stepper, Vector3D &knew, const Vector3D &bField, std::array< double, 4 > &kQoP, const double h, const Vector3D &kprev) |
This functions broadcasts the call for evaluating k2. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | k3 (const propagator_state_t &state, const stepper_t &stepper, Vector3D &knew, const Vector3D &bField, std::array< double, 4 > &kQoP, const double h, const Vector3D &kprev) |
This functions broadcasts the call for evaluating k3. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | k4 (const propagator_state_t &state, const stepper_t &stepper, Vector3D &knew, const Vector3D &bField, std::array< double, 4 > &kQoP, const double h, const Vector3D &kprev) |
This functions broadcasts the call for evaluating k4. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | finalize (propagator_state_t &state, const stepper_t &stepper, const double h, FreeMatrix &D) |
This functions broadcasts the call of the method finalize(). It collects all extensions and arguments and passes them forward for evaluation and returns a boolean. | |
template<typename propagator_state_t , typename stepper_t > | |
bool | finalize (propagator_state_t &state, const stepper_t &stepper, const double h) |
This functions broadcasts the call of the method finalize(). It collects all extensions and arguments and passes them forward for evaluation and returns a boolean. | |
Private Types | |
using | impl = detail::stepper_extension_list_impl< nExtensions > |
Private Attributes | |
std::array< bool, nExtensions > | validExtensions |
Static Private Attributes | |
static constexpr unsigned int | nExtensions = sizeof...(extensions) |
Additional Inherited Members | |
Private Member Functions inherited from Acts::detail::Extendable< extensions...> | |
Extendable ()=default | |
Default constructor. | |
Extendable (const Extendable< extensions_t...> &extendable)=default | |
Default copy constructor. | |
Extendable (Extendable< extensions_t...> &&extendable)=default | |
Extendable (const std::tuple< extensions_t...> &extensions) | |
Extendable (std::tuple< extensions_t...> &&extensions) | |
Extendable< extensions_t...> & | operator= (const Extendable< extensions_t...> &extendable)=default |
Extendable< extensions_t...> & | operator= (Extendable< extensions_t...> &&extendable)=default |
Extendable< extensions_t..., appendices_t...> | append (appendices_t...aps) const |
const extension_t & | get () const |
extension_t & | get () |
const std::tuple < extensions_t...> & | tuple () const |
std::tuple< extensions_t...> & | tuple () |
Container of extensions used in the stepper of the propagation. This struct allows a broadcast of function calls for each element in the list. The broadcasts occur for a certain function at each step in a specific order. The first function is an evaluater if an extension is or how many extensions are applicable for an upcoming step. The next functions called are the evaluations of the k_1 - k_4 or the RKN4 integration. The last function call in a step is the finalize() method. This method is an overloaded function (optionally propagates the covariance). Each method has the possibility to break the evaluation of a given step if an extension reports that something went wrong (e.g. a particle lost too much momentum during the step)
extensions | Types of the extensions |
Definition at line 34 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 34 of file StepperExtensionList.hpp
|
private |
Definition at line 47 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 47 of file StepperExtensionList.hpp
|
inline |
This functions broadcasts the call of the method finalize(). It collects all extensions and arguments and passes them forward for evaluation and returns a boolean.
Definition at line 124 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 124 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::finalize(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
|
inline |
This functions broadcasts the call of the method finalize(). It collects all extensions and arguments and passes them forward for evaluation and returns a boolean.
Definition at line 133 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 133 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::finalize(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
|
inline |
This functions broadcasts the call for evaluating k1. It collects all arguments and extensions, test their validity for the evaluation and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid.
Definition at line 81 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 81 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::k(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
|
inline |
This functions broadcasts the call for evaluating k2. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid.
Definition at line 91 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 91 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::k(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
|
inline |
This functions broadcasts the call for evaluating k3. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid.
Definition at line 102 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 102 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::k(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
Referenced by fg(), and fgp().
|
inline |
This functions broadcasts the call for evaluating k4. It collects all arguments and extensions and passes them forward for evaluation and returns a boolean as indicator if the evaluation is valid.
Definition at line 113 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 113 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::k(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
Referenced by rk4step().
|
inline |
Evaluation function to set valid extensions for an upcoming integration step.
propagator_state_t | Type of the state of the propagator |
stepper_t | Type of the stepper |
[in] | state | State of the propagator |
[in] | stepper | Stepper of the propagation |
Definition at line 64 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 64 of file StepperExtensionList.hpp
References Acts::detail::stepper_extension_list_impl< N >::bid(), Acts::detail::Extendable< extensions...>::tuple(), and Acts::StepperExtensionList< extensions >::validExtensions.
|
staticprivate |
Definition at line 40 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 40 of file StepperExtensionList.hpp
|
private |
Definition at line 50 of file StepperExtensionList.hpp.
View newest version in sPHENIX GitHub at line 50 of file StepperExtensionList.hpp
Referenced by Acts::StepperExtensionList< extensions >::finalize(), Acts::StepperExtensionList< extensions >::k1(), Acts::StepperExtensionList< extensions >::k2(), Acts::StepperExtensionList< extensions >::k3(), Acts::StepperExtensionList< extensions >::k4(), and Acts::StepperExtensionList< extensions >::validExtensionForStep().