Struct Acts::ConstrainedStep¶
-
struct Acts::ConstrainedStep
A constrained step class for the steppers.
Public Types
-
using Scalar = ActsScalar
-
enum Type
the types of constraints from accuracy - this can vary up and down given a good step estimator from actor - this would be a typical navigation step from aborter - this would be a target condition from user - this is user given for what reason ever
Values:
-
enumerator accuracy
-
enumerator actor
-
enumerator aborter
-
enumerator user
-
enumerator accuracy
Public Functions
-
inline ConstrainedStep(Scalar value)
constructor from double
- Parameters
value – is the user given initial value
-
inline Type currentType() const
Access to currently leading min type.
-
inline Scalar max() const
Return the maximum step constraint.
- Returns
The max step constraint
-
inline Scalar min() const
Return the minimum step constraint.
- Returns
The min step constraint
-
inline operator Scalar() const
Cast operator to double, returning the min/max value depending on the direction.
-
inline ConstrainedStep &operator=(const Scalar &value)
The assignment operator from one double.
Note
this will set only the accuracy, as this is the most exposed to the Propagator, this adapts also the direction
- Parameters
value – is the new accuracy value
-
inline void release(Type type)
release a certain constraint value to the (signed) biggest value available, hence it depends on the direction
- Parameters
type – is the constraint type to be released
-
inline std::string toString() const
return the split value as string for debugging
-
inline void update(const Scalar &value, Type type, bool releaseStep = false)
Update the step size of a certain type.
Only navigation and target abortion step size updates may change the sign due to overstepping
- Parameters
value – is the new value to be updated
type – is the constraint type
releaseStep – Allow step size to increase again
Public Members
-
NavigationDirection direction = NavigationDirection::Forward
The Navigation direction.
-
size_t nStepTrials = std::numeric_limits<size_t>::max()
Number of iterations needed by the stepsize finder (e.g.
Runge-Kutta) of the stepper.
-
using Scalar = ActsScalar