Struct Acts::MultiStepperSurfaceReached

struct MultiStepperSurfaceReached

This.

Public Functions

MultiStepperSurfaceReached() = default
template<typename propagator_state_t, typename stepper_t, typename navigator_t>
inline bool operator()(propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const Logger &logger) const

boolean operator for abort condition without using the result

Template Parameters
  • propagator_state_t – Type of the propagator state

  • stepper_t – Type of the stepper

  • navigator_t – Type of the navigator

Parameters
  • state[inout] The propagation state object

  • stepper[in] Stepper used for propagation

  • navigator[in] Navigator used for the progation

  • logger – a logger instance

template<typename propagator_state_t, typename stepper_t, typename navigator_t>
inline bool operator()(propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const Surface &targetSurface, const Logger &logger) const

boolean operator for abort condition without using the result

Template Parameters
  • propagator_state_t – Type of the propagator state

  • stepper_t – Type of the stepper

  • navigator_t – Type of the navigator

Parameters
  • state[inout] The propagation state object

  • stepper[in] Stepper used for the progation

  • navigator[in] Navigator used for the progation

  • targetSurface[in] The target surface

  • logger – a logger instance

Public Members

bool averageOnSurface = true

If this is set, we are also happy if the mean of the components is on the surface.

How the averaging is performed depends on the stepper implementation

double averageOnSurfaceTolerance = 0.2

A configurable tolerance within which distance to the intersection we consider the surface as reached.

Has no effect if averageOnSurface is false