|
ACTS
Experiment-independent tracking
|
Alternative Navigator which tries all possible intersections.
More...
#include <Acts/Propagator/TryAllNavigator.hpp>
Classes | |
| struct | State |
| Nested State struct. More... | |
Public Types | |
| using | Config = TryAllNavigatorBase::Config |
| Type alias for navigator configuration. | |
| using | Options = TryAllNavigatorBase::Options |
| Type alias for navigator options. | |
Public Member Functions | |
| TryAllOverstepNavigator (Config cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("TryAllOverstepNavigator", Logging::INFO)) | |
| Constructor with configuration object. | |
| bool | checkTargetValid (const State &state, const Vector3 &position, const Vector3 &direction) const |
| Check if the target is still valid. | |
| const Surface * | currentSurface (const State &state) const |
| Get the current surface from the navigation state. | |
| const TrackingVolume * | currentVolume (const State &state) const |
| Get the current tracking volume from the navigation state. | |
| const IVolumeMaterial * | currentVolumeMaterial (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. | |
| void | handleSurfaceReached (State &state, const Vector3 &position, const Vector3 &direction, const Surface &) const |
| Handle the surface reached. | |
| Result< void > | initialize (State &state, const Vector3 &position, const Vector3 &direction, Direction propagationDirection) const |
| Initialize the navigator. | |
| State | makeState (const Options &options) const |
| Creates a new overstep navigator state. | |
| bool | navigationBreak (const State &state) const |
| Check if navigation has been interrupted. | |
| NavigationTarget | nextTarget (State &state, const Vector3 &position, const Vector3 &direction) const |
| Get the next target surface. | |
| const Surface * | startSurface (const State &state) const |
| Get the start surface from the navigation state. | |
| const Surface * | targetSurface (const State &state) const |
| Get the target surface from the navigation state. | |
| Public Member Functions inherited from Acts::TryAllNavigatorBase | |
| TryAllNavigatorBase (Config cfg, std::unique_ptr< const Logger > logger) | |
| Constructor with configuration object. | |
| const Surface * | currentSurface (const State &state) const |
| Get the current surface from the navigation state. | |
| const TrackingVolume * | currentVolume (const State &state) const |
| Get the current tracking volume from the navigation state. | |
| const IVolumeMaterial * | currentVolumeMaterial (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 Surface * | startSurface (const State &state) const |
| Get the start surface from the navigation state. | |
| const Surface * | targetSurface (const State &state) const |
| Get the target surface from the navigation state. | |
Additional Inherited Members | |
| Protected Member Functions inherited from Acts::TryAllNavigatorBase | |
| void | initializeVolumeCandidates (State &state) const |
| Helper method to initialize navigation candidates for the current volume. | |
| const Logger & | logger () const |
| Get the logger instance. | |
| std::string | volInfo (const State &state) const |
| Get volume information string for logging. | |
| Protected Attributes inherited from Acts::TryAllNavigatorBase | |
| Config | m_cfg |
| Configuration object for this navigator. | |
| std::unique_ptr< const Logger > | m_logger |
| Logger instance for this navigator. | |
Alternative Navigator which tries all possible intersections.
See Navigator for more general information about the Navigator concept.
This Navigator tries all possible intersections with all surfaces in the current volume. It does not use any information about the geometry to optimize the search. It is therefore very slow, but can be used as a reference implementation.
Different to TryAllNavigator, this Navigator discovers intersections by stepping forward blindly and then checking for intersections with all surfaces in the current volume. This is slower, but more robust against bent tracks.
Type alias for navigator configuration.
Type alias for navigator options.
|
explicit |
Constructor with configuration object.
| cfg | The navigator configuration |
| logger | a logger instance |
| bool Acts::TryAllOverstepNavigator::checkTargetValid | ( | const State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction ) const |
Check if the target is still valid.
This method checks if the target is valid based on the current position and direction. It returns true if the target is still valid.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
| const Surface * Acts::TryAllNavigatorBase::currentSurface | ( | const State & | state | ) | const |
Get the current surface from the navigation state.
| state | The navigation state |
| const TrackingVolume * Acts::TryAllNavigatorBase::currentVolume | ( | const State & | state | ) | const |
Get the current tracking volume from the navigation state.
| state | The navigation state |
| const IVolumeMaterial * Acts::TryAllNavigatorBase::currentVolumeMaterial | ( | const State & | state | ) | const |
Get the material of the current tracking volume.
| state | The navigation state |
| bool Acts::TryAllNavigatorBase::endOfWorldReached | ( | State & | state | ) | const |
Check if the end of the world has been reached.
| state | The navigation state |
| void Acts::TryAllOverstepNavigator::handleSurfaceReached | ( | State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction, | ||
| const Surface & | ) const |
Handle the surface reached.
This method is called when a surface is reached. It sets the current surface in the navigation state and updates the navigation candidates.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
|
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.
| state | The navigation state |
| position | The starting position |
| direction | The starting direction |
| propagationDirection | The propagation direction |
Creates a new overstep navigator state.
| options | Navigator options for state initialization |
| bool Acts::TryAllNavigatorBase::navigationBreak | ( | const State & | state | ) | const |
Check if navigation has been interrupted.
| state | The navigation state |
| NavigationTarget Acts::TryAllOverstepNavigator::nextTarget | ( | State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction ) const |
Get the next target surface.
This method gets the next target surface based on the current position and direction. It returns an invalid target if no target can be found.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
| const Surface * Acts::TryAllNavigatorBase::startSurface | ( | const State & | state | ) | const |
Get the start surface from the navigation state.
| state | The navigation state |
| const Surface * Acts::TryAllNavigatorBase::targetSurface | ( | const State & | state | ) | const |
Get the target surface from the navigation state.
| state | The navigation state |