File DetectorVolumeFinders.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

namespace Experimental


using IndexedDetectorVolumeImpl = IndexedUpdatorImpl<grid_type, IndexedDetectorVolumeExtractor, DetectorVolumeFiller>

An indexed volume implementation access.

Template Parameters

grid_type – is the grid type used for this


static inline DetectorVolumeUpdator tryAllVolumes()

Generate a delegate to try all volume.


this is a try-and error navigation, not recommended for production setup with many surfaces


a connected navigationstate updator

struct IndexedDetectorVolumeExtractor
#include <Acts/Navigation/DetectorVolumeFinders.hpp>

A helper struct that allows to extrace a volume from the detector by its index.

Public Static Functions

static inline const DetectorVolume *extract([[maybe_unused]] const GeometryContext &gctx, const NavigationState &nState, size_t index) noexcept(false)

Extract the surfaces from the volume.

  • gctx – the geometry contextfor this extraction call

  • nState – is the current navigation state

  • index – is the index in the global detector volume store


a raw DetectorVolume pointer

struct TrialAndErrorImpl : public Acts::Experimental::INavigationDelegate
#include <Acts/Navigation/DetectorVolumeFinders.hpp>

The end of world sets the volume pointer of the navigation state to nullptr, usually indicates the end of the known world, hence the name.

Public Functions

inline void update(const GeometryContext &gctx, NavigationState &nState) const

a null volume link - explicitely

  • gctx – the geometry context for this call

  • nState – the navigation state into which the volume is set