ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SurfaceReached Struct Reference

This is the condition that the Surface has been reached it then triggers a propagation abort. More...

#include <Acts/Propagator/StandardAborters.hpp>

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

Public Member Functions

 SurfaceReached ()=default
 SurfaceReached (double nLimit)
 Constructor with custom near limit.
template<typename propagator_state_t, typename stepper_t, typename navigator_t>
bool checkAbort (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const Logger &logger) const
 boolean operator for abort condition without using the result

Public Attributes

BoundaryTolerance boundaryTolerance = BoundaryTolerance::None()
 Boundary tolerance for surface intersection checks.
double nearLimit = -100 * UnitConstants::um
 Distance limit to discard intersections "behind us".
const Surfacesurface = nullptr
 Target surface to reach for propagation termination.

Detailed Description

This is the condition that the Surface has been reached it then triggers a propagation abort.

Constructor & Destructor Documentation

◆ SurfaceReached() [1/2]

Acts::SurfaceReached::SurfaceReached ( )
default

◆ SurfaceReached() [2/2]

Acts::SurfaceReached::SurfaceReached ( double nLimit)
explicit

Constructor with custom near limit.

Parameters
nLimitDistance limit to discard intersections "behind us"

Member Function Documentation

◆ checkAbort()

template<typename propagator_state_t, typename stepper_t, typename navigator_t>
bool Acts::SurfaceReached::checkAbort ( propagator_state_t & state,
const stepper_t & stepper,
const navigator_t & navigator,
const Logger & logger ) const

boolean operator for abort condition without using the result

Template Parameters
propagator_state_tType of the propagator state
stepper_tType of the stepper
navigator_tType of the navigator
Parameters
[in,out]stateThe propagation state object
[in]stepperStepper used for propagation
[in]navigatorNavigator used for propagation
loggera logger instance
Returns
true if abort condition is met (surface reached)

Member Data Documentation

◆ boundaryTolerance

BoundaryTolerance Acts::SurfaceReached::boundaryTolerance = BoundaryTolerance::None()

Boundary tolerance for surface intersection checks.

◆ nearLimit

double Acts::SurfaceReached::nearLimit = -100 * UnitConstants::um

Distance limit to discard intersections "behind us".

Note
this is only necessary because some surfaces have more than one intersection

◆ surface

const Surface* Acts::SurfaceReached::surface = nullptr

Target surface to reach for propagation termination.