Struct ConstrainedStep

Struct Documentation

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

Public Functions

ConstrainedStep(Scalar value)

constructor from double value is the user given initial value

Type currentType() const

Access to currently leading min type.

Scalar max() const

Return the maximum step constraint.

Return

The max step constraint

Scalar min() const

Return the minimum step constraint.

Return

The min step constraint

operator Scalar() const

Cast operator to double, returning the min/max value depending on the direction.

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

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

std::string toString() const

return the split value as string for debugging

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

Scalar value(Type type) const

Access to a specific value.

Parameters
  • type: is the resquested parameter type

Public Members

NavigationDirection direction = forward

The Navigation direction.

std::array<Scalar, 4> values = {{std::numeric_limits<Scalar>::max(), std::numeric_limits<Scalar>::max(), std::numeric_limits<Scalar>::max(), std::numeric_limits<Scalar>::max()}}

the step size tuple