Class AbstractManeuverTriggers

    • Constructor Detail

      • AbstractManeuverTriggers

        protected AbstractManeuverTriggers()
        Simple constructor.
    • Method Detail

      • init

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

        The default implementation does nothing.

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

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

        The default implementation does nothing.

        Specified by:
        init in interface ManeuverTriggers
        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().
      • isFiringOnInitialState

        protected abstract boolean isFiringOnInitialState​(SpacecraftState initialState,
                                                          boolean isForward)
        Method to check if the thruster is firing on initialization. can be called by sub classes
        Parameters:
        initialState - initial spacecraft state
        isForward - if true, propagation will be in the forward direction
        Returns:
        true if firing in propagation direction
      • isFiring

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

        public <S extends CalculusFieldElement<S>> boolean isFiring​(FieldAbsoluteDate<S> date,
                                                                    S[] parameters)
        Find out if the maneuver is firing or not.
        Specified by:
        isFiring in interface ManeuverTriggers
        Type Parameters:
        S - type of the field elements
        Parameters:
        date - current date
        parameters - maneuver triggers parameters
        Returns:
        true if the maneuver is firing, false otherwise
      • getFirings

        public TimeSpanMap<Boolean> getFirings()
        Get the firings detected during last propagation.
        Returns:
        firings detected during last propagation
      • initializeResetters

        protected void initializeResetters​(SpacecraftState initialState,
                                           AbsoluteDate target)
        Initialize resetters.
        Parameters:
        initialState - initial state
        target - target date for the propagation
      • notifyResetters

        protected void notifyResetters​(SpacecraftState state,
                                       boolean start)
        Notify resetters.
        Parameters:
        state - spacecraft state at trigger date (before applying the maneuver)
        start - if true, the trigger is the start of the maneuver
      • applyResetters

        protected SpacecraftState applyResetters​(SpacecraftState state)
        Apply resetters.
        Parameters:
        state - spacecraft state at trigger date
        Returns:
        reset state
      • initializeResetters

        protected <T extends CalculusFieldElement<T>> void initializeResetters​(FieldSpacecraftState<T> initialState,
                                                                               FieldAbsoluteDate<T> target)
        Initialize resetters.
        Type Parameters:
        T - type of the field elements
        Parameters:
        initialState - initial state
        target - target date for the propagation
      • notifyResetters

        protected <T extends CalculusFieldElement<T>> void notifyResetters​(FieldSpacecraftState<T> state,
                                                                           boolean start)
        Notify resetters.
        Type Parameters:
        T - type of the field elements
        Parameters:
        state - spacecraft state at trigger date (before applying the maneuver)
        start - if true, the trigger is the start of the maneuver