This package provides interfaces and classes dealing with events occurring during propagation. It is used when {@link org.orekit.propagation.events.EventDetector EventDetector} instances are registered to any {@link org.orekit.propagation.Propagator Propagator}. When the event associated with the detector occurs, the propagator interrupts the propagation and calls the {@link org.orekit.propagation.events.EventDetector#eventOccurred(SpacecraftState, boolean) eventOccurred} method of the event detector, which can do whatever the user want and either stop or resume propagation, optionally resetting the state.

If the registered events detectors are configured to stop propagation when triggered, the propagator can be run with an arbitrary large target date, relying on the events occurrence to stop propagation exactly at the right time.

The package provides some predefined events:

The low level interfaces and classes are heavily based on similar classes from the ode.events package from the commons math library. The changes are mainly adaptations of the signatures to space dynamics.

@author Luc Maisonobe