File ConstrainedStep.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

struct ConstrainedStep
#include <Acts/Propagator/ConstrainedStep.hpp>

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

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

inline 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