Struct Acts::NavigationOptions

template<typename object_t>
struct NavigationOptions

struct for the Navigation options that are forwarded to the geometry

Template Parameters
  • propagator_state_t – Type of the object for navigation state

  • object_t – Type of the object for navigation to check against

Public Functions

inline NavigationOptions(Direction ndir, BoundaryCheck bcheck, bool resolves = true, bool resolvem = true, bool resolvep = false, const object_t *sobject = nullptr, const object_t *eobject = nullptr)


  • ndir – Navigation direction prescription

  • bcheck – Boundary check for the navigation action

  • resolves – Boolean whether to resolve sensitives

  • resolvem – Boolean whether to resolve material

  • resolvep – Boolean whether to resolve passives

  • sobject – Start object to check against

  • eobject – End object to check against

Public Members

BoundaryCheck boundaryCheck = true

The boundary check directive.

const object_t *endObject = nullptr

object to check against: at end

std::vector<GeometryIdentifier> externalSurfaces = {}

External surface identifier for which the boundary check is ignored.

bool forceIntersectBoundaries = false

Force intersection with boundaries.

Direction navDir = Direction::Forward

The navigation direction.

double overstepLimit = -1 * UnitConstants::um

The overstep tolerance for this navigation step.


must be negative as it describes overstepping

double pathLimit = std::numeric_limits<double>::max()

The maximum path limit for this navigation step.

bool resolveMaterial = true

Always look for material.

bool resolvePassive = false

always look for passive

bool resolveSensitive = true

Always look for sensitive.

const object_t *startObject = nullptr

object to check against: at start

const Surface *targetSurface = nullptr

Target surface to exclude.