|
ACTS
Experiment-independent tracking
|
A fully guided navigator. More...
#include <Acts/Propagator/DirectNavigator.hpp>
Classes | |
| struct | Config |
| The nested configuration struct. More... | |
| struct | Options |
| The nested options struct. More... | |
| struct | State |
| Nested State struct. More... | |
Public Types | |
| using | SurfaceSequence = std::vector<const Surface*> |
| The sequentially crossed surfaces. | |
Public Member Functions | |
| DirectNavigator (std::unique_ptr< const Logger > _logger=getDefaultLogger("DirectNavigator", Logging::INFO)) | |
| Constructor with optional logger. | |
| bool | checkTargetValid (const State &state, const Vector3 &position, const Vector3 &direction) const |
| Check if the current 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 (not used by DirectNavigator). | |
| const IVolumeMaterial * | currentVolumeMaterial (const State &state) const |
| Get the current volume material (not used by DirectNavigator). | |
| bool | endOfWorldReached (State &state) const |
| Check if the end of world has been reached (not applicable for DirectNavigator). | |
| void | handleSurfaceReached (State &state, const Vector3 &position, const Vector3 &direction, const Surface &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 |
| Create a new navigation state from options. | |
| bool | navigationBreak (const State &state) const |
| Check if navigation should break/stop. | |
| 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. | |
A fully guided navigator.
This is a fully guided navigator that progresses through a provided sequence of surfaces.
This can either be used as a validation tool, for truth tracking, or track refitting.
| using Acts::DirectNavigator::SurfaceSequence = std::vector<const Surface*> |
The sequentially crossed surfaces.
|
explicit |
Constructor with optional logger.
| _logger | Logger instance for navigation messages |
| bool Acts::DirectNavigator::checkTargetValid | ( | const State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction ) const |
Check if the current target is still valid.
This function checks if the target is valid. For the direct navigator this is always true.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
Get the current surface from the navigation state.
| state | The navigation state |
| const TrackingVolume * Acts::DirectNavigator::currentVolume | ( | const State & | state | ) | const |
Get the current tracking volume (not used by DirectNavigator).
| state | The navigation state (unused) |
| const IVolumeMaterial * Acts::DirectNavigator::currentVolumeMaterial | ( | const State & | state | ) | const |
Get the current volume material (not used by DirectNavigator).
| state | The navigation state (unused) |
| bool Acts::DirectNavigator::endOfWorldReached | ( | State & | state | ) | const |
Check if the end of world has been reached (not applicable for DirectNavigator).
| state | The navigation state (unused) |
| void Acts::DirectNavigator::handleSurfaceReached | ( | State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction, | ||
| const Surface & | surface ) const |
Handle the surface reached.
This function handles the surface reached. For the direct navigator this effectively sets the current surface to the reached surface.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
| surface | The surface reached |
|
nodiscard |
Initialize the navigator.
This function initializes the navigator for a new propagation.
| state | The navigation state |
| position | The start position |
| direction | The start direction |
| propagationDirection | The propagation direction |
Create a new navigation state from options.
| options | The navigator options |
| bool Acts::DirectNavigator::navigationBreak | ( | const State & | state | ) | const |
Check if navigation should break/stop.
| state | The navigation state |
| NavigationTarget Acts::DirectNavigator::nextTarget | ( | State & | state, |
| const Vector3 & | position, | ||
| const Vector3 & | direction ) const |
Get the next target surface.
This function gets the next target surface for the propagation. For the direct navigator this is always the next surface in the sequence.
| state | The navigation state |
| position | The current position |
| direction | The current direction |
Get the start surface from the navigation state.
| state | The navigation state |