File indexing completed on 2025-01-18 09:10:58
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Surfaces/BoundaryTolerance.hpp"
0012
0013 #include <utility>
0014
0015 namespace Acts {
0016
0017 class Surface;
0018
0019
0020
0021
0022
0023
0024
0025
0026 struct NavigationTarget {
0027 const Surface* surface = nullptr;
0028 std::uint8_t surfaceIntersectionIndex = 0;
0029 BoundaryTolerance boundaryTolerance = BoundaryTolerance::None();
0030
0031 static NavigationTarget None() { return NavigationTarget(); }
0032
0033 NavigationTarget(const Surface& surface_,
0034 std::uint8_t surfaceIntersectionIndex_,
0035 BoundaryTolerance boundaryTolerance_)
0036 : surface(&surface_),
0037 surfaceIntersectionIndex(surfaceIntersectionIndex_),
0038 boundaryTolerance(std::move(boundaryTolerance_)) {}
0039
0040 bool isNone() const { return surface == nullptr; }
0041
0042 private:
0043 NavigationTarget() = default;
0044 };
0045
0046 }