Interface ManeuverTriggers

All Superinterfaces:
EventDetectorsProvider, ParameterDriversProvider
All Known Subinterfaces:
ResettableManeuverTriggers
All Known Implementing Classes:
AbstractManeuverTriggers, DateBasedManeuverTriggers, IntervalEventTrigger, StartStopEventsTrigger, TimeIntervalsManeuverTrigger

public interface ManeuverTriggers extends ParameterDriversProvider, EventDetectorsProvider
Generic interface for the maneuver triggers used in a Maneuver.
Since:
10.2
Author:
Maxime Journot
  • Method Details

    • init

      default void init(SpacecraftState initialState, AbsoluteDate target)
      Initialization method called at propagation start.

      The default implementation does nothing.

      Parameters:
      initialState - initial spacecraft state (at the start of propagation).
      target - date of propagation. Not equal to initialState.getDate().
    • init

      default <T extends CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target)
      Initialization method called at propagation start.

      The default implementation does nothing.

      Type Parameters:
      T - type of the elements
      Parameters:
      initialState - initial spacecraft state (at the start of propagation).
      target - date of propagation. Not equal to initialState.getDate().
      Since:
      11.1
    • isFiring

      boolean isFiring(AbsoluteDate date, double[] parameters)
      Find out if the maneuver is firing or not.
      Parameters:
      date - current date
      parameters - maneuver triggers parameters
      Returns:
      true if the maneuver is firing, false otherwise
    • isFiring

      <T extends CalculusFieldElement<T>> boolean isFiring(FieldAbsoluteDate<T> date, T[] parameters)
      Find out if the maneuver is firing or not.
      Type Parameters:
      T - type of the field elements
      Parameters:
      date - current date
      parameters - maneuver triggers parameters
      Returns:
      true if the maneuver is firing, false otherwise
    • getName

      default String getName()
      Get the maneuver name.
      Returns:
      the maneuver name
    • getEventDetectors

      default Stream<EventDetector> getEventDetectors()
      Get the discrete events related to the model.

      This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

      Specified by:
      getEventDetectors in interface EventDetectorsProvider
      Returns:
      stream of event detectors
    • getFieldEventDetectors

      default <T extends CalculusFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventDetectors(Field<T> field)
      Get the discrete events related to the model.

      This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called

      Specified by:
      getFieldEventDetectors in interface EventDetectorsProvider
      Type Parameters:
      T - extends CalculusFieldElement<T>
      Parameters:
      field - field to which the state belongs
      Returns:
      stream of event detectors
    • getParametersDrivers

      default List<ParameterDriver> getParametersDrivers()
      Get the drivers for parameters.

      By default, no drivers is defined.

      Specified by:
      getParametersDrivers in interface ParameterDriversProvider
      Returns:
      drivers for parameters