File DetectorVolumeFinders.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Experimental

Typedefs

using IndexedDetectorVolumeImpl = IndexedUpdatorImpl<grid_type, IndexedDetectorVolumeExtractor, DetectorVolumeFiller>

An indexed volume implementation access.

Template Parameters

grid_type – is the grid type used for this

Functions

static inline DetectorVolumeUpdator tryAllVolumes()

Generate a delegate to try all volume.

Note

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

Returns

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.

Parameters
  • gctx – the geometry contextfor this extraction call

  • nState – is the current navigation state

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

Returns

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

Parameters
  • gctx – the geometry context for this call

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