ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::TryAllNavigatorBase Class Reference

Captures the common functionality of the try-all navigators. More...

#include <Acts/Propagator/TryAllNavigator.hpp>

Inheritance diagram for Acts::TryAllNavigatorBase:
[legend]
Collaboration diagram for Acts::TryAllNavigatorBase:
[legend]

Classes

struct  Config
 Configuration for this Navigator. More...
struct  Options
 Options for this Navigator. More...
struct  State
 Nested State struct. More...

Public Member Functions

 TryAllNavigatorBase (Config cfg, std::unique_ptr< const Logger > logger)
 Constructor with configuration object.
const SurfacecurrentSurface (const State &state) const
 Get the current surface from the navigation state.
const TrackingVolumecurrentVolume (const State &state) const
 Get the current tracking volume from the navigation state.
const IVolumeMaterialcurrentVolumeMaterial (const State &state) const
 Get the material of the current tracking volume.
bool endOfWorldReached (State &state) const
 Check if the end of the world has been reached.
Result< void > initialize (State &state, const Vector3 &position, const Vector3 &direction, Direction propagationDirection) const
 Initialize the navigator.
bool navigationBreak (const State &state) const
 Check if navigation has been interrupted.
const SurfacestartSurface (const State &state) const
 Get the start surface from the navigation state.
const SurfacetargetSurface (const State &state) const
 Get the target surface from the navigation state.

Protected Member Functions

void initializeVolumeCandidates (State &state) const
 Helper method to initialize navigation candidates for the current volume.
const Loggerlogger () const
 Get the logger instance.
std::string volInfo (const State &state) const
 Get volume information string for logging.

Protected Attributes

Config m_cfg
 Configuration object for this navigator.
std::unique_ptr< const Loggerm_logger
 Logger instance for this navigator.

Detailed Description

Captures the common functionality of the try-all navigators.

This class is not meant to be used directly, but to be inherited by the actual navigator implementations.

Constructor & Destructor Documentation

◆ TryAllNavigatorBase()

Acts::TryAllNavigatorBase::TryAllNavigatorBase ( Config cfg,
std::unique_ptr< const Logger > logger )

Constructor with configuration object.

Parameters
cfgThe navigator configuration
loggera logger instance

Member Function Documentation

◆ currentSurface()

const Surface * Acts::TryAllNavigatorBase::currentSurface ( const State & state) const

Get the current surface from the navigation state.

Parameters
stateThe navigation state
Returns
Pointer to the current surface, or nullptr if none

◆ currentVolume()

const TrackingVolume * Acts::TryAllNavigatorBase::currentVolume ( const State & state) const

Get the current tracking volume from the navigation state.

Parameters
stateThe navigation state
Returns
Pointer to the current tracking volume, or nullptr if none

◆ currentVolumeMaterial()

const IVolumeMaterial * Acts::TryAllNavigatorBase::currentVolumeMaterial ( const State & state) const

Get the material of the current tracking volume.

Parameters
stateThe navigation state
Returns
Pointer to the volume material, or nullptr if no volume or no material

◆ endOfWorldReached()

bool Acts::TryAllNavigatorBase::endOfWorldReached ( State & state) const

Check if the end of the world has been reached.

Parameters
stateThe navigation state
Returns
True if no current volume is set (end of world reached)

◆ initialize()

Result< void > Acts::TryAllNavigatorBase::initialize ( State & state,
const Vector3 & position,
const Vector3 & direction,
Direction propagationDirection ) const
nodiscard

Initialize the navigator.

This method initializes the navigator for a new propagation. It sets the current volume and surface to the start volume and surface, respectively.

Parameters
stateThe navigation state
positionThe starting position
directionThe starting direction
propagationDirectionThe propagation direction
Returns
Result indicating success or failure of initialization

◆ initializeVolumeCandidates()

void Acts::TryAllNavigatorBase::initializeVolumeCandidates ( State & state) const
protected

Helper method to initialize navigation candidates for the current volume.

Parameters
stateNavigation state to initialize candidates for

◆ logger()

const Logger & Acts::TryAllNavigatorBase::logger ( ) const
protected

Get the logger instance.

Returns
Reference to the logger instance

◆ navigationBreak()

bool Acts::TryAllNavigatorBase::navigationBreak ( const State & state) const

Check if navigation has been interrupted.

Parameters
stateThe navigation state
Returns
True if navigation break flag is set

◆ startSurface()

const Surface * Acts::TryAllNavigatorBase::startSurface ( const State & state) const

Get the start surface from the navigation state.

Parameters
stateThe navigation state
Returns
Pointer to the start surface, or nullptr if none

◆ targetSurface()

const Surface * Acts::TryAllNavigatorBase::targetSurface ( const State & state) const

Get the target surface from the navigation state.

Parameters
stateThe navigation state
Returns
Pointer to the target surface, or nullptr if none

◆ volInfo()

std::string Acts::TryAllNavigatorBase::volInfo ( const State & state) const
protected

Get volume information string for logging.

Parameters
stateThe navigation state
Returns
String containing volume name or "No Volume" followed by separator

Member Data Documentation

◆ m_cfg

Config Acts::TryAllNavigatorBase::m_cfg
protected

Configuration object for this navigator.

◆ m_logger

std::unique_ptr<const Logger> Acts::TryAllNavigatorBase::m_logger
protected

Logger instance for this navigator.