States without functions
The states of the different steppers currently use a couple of functions for converting member variables into other data types or serve as getter functions. This MR removes all functions from these structs such that the state becomes a pure data container. The converter functions a moved into the corresponding stepper class. This allows an access to the functions from outside if the used stepper is provided. The distribution of the stepper is added to functions in the Propagator
, Navigator
, the Action/AbortList
and the StepperExtensionList
. In order to enforce the usage of the corresponding functions, several member variables of the states become private with their stepper as only friend. The getter functions required treatment in the detector description since until now a templated parameters
object was moved around and the members were accessed by the getters. In this MR, a couple of detector related classes were expanded by functions that unwrap the parameters
object into the required objects to allow the function call.