16 #include <boost/container/small_vector.hpp>
21 auto mutableSf =
const_cast<Surface*
>(sf);
31 boost::container::small_vector<SurfaceIntersection, 2> sIntersections;
32 sIntersections.reserve(m_surfaceCache.size());
33 for (
const auto& sf : m_surfaceCache) {
34 auto sfIntersection = sf->intersect(gctx, position, direction, bcheck);
35 for (
const auto& intersection : sfIntersection.split()) {
38 sIntersections.push_back(intersection);
42 if (sIntersections.empty()) {
45 return *std::min_element(sIntersections.begin(), sIntersections.end(),
49 const std::vector<const Acts::Surface*>&
51 return m_surfaceCache;
54 std::vector<const Acts::Surface*>&
56 return m_surfaceCache;