Class AbstractInPlaneImpulseProvider

java.lang.Object
org.orekit.control.heuristics.AbstractInPlaneImpulseProvider
All Implemented Interfaces:
ImpulseProvider
Direct Known Subclasses:
CircularizingImpulseProvider, MeanSmaChangeImpulseProvider, OsculatingSmaChangeImpulseProvider

public abstract class AbstractInPlaneImpulseProvider extends Object implements ImpulseProvider
Abstract class modelling impulsive, in-plane maneuvers. The impulse vector is computed in the same frame as the orbit. The instantaneous orbital plane is left unchanged. A constraint on the maximum magnitude can be optionally set.
Since:
14.0
Author:
Romain Serra
See Also:
  • Constructor Details

    • AbstractInPlaneImpulseProvider

      protected AbstractInPlaneImpulseProvider(double maximumMagnitude)
      Constructor.
      Parameters:
      maximumMagnitude - maximum magnitude
  • Method Details

    • getMaximumMagnitude

      public double getMaximumMagnitude()
      Getter for the maximum impulse's magnitude.
      Returns:
      maximum magnitude
    • getImpulse

      public Vector3D getImpulse(SpacecraftState state, boolean isForward)
      Description copied from interface: ImpulseProvider
      Method returning the impulse to be applied.
      Specified by:
      getImpulse in interface ImpulseProvider
      Parameters:
      state - state before the maneuver is applied if isForward is true, after otherwise
      isForward - flag on propagation direction
      Returns:
      impulse in satellite's frame
    • getUnconstrainedImpulse

      protected abstract Vector3D getUnconstrainedImpulse(SpacecraftState state, boolean isForward)
      Compute the impulse without magnitude constraint.
      Parameters:
      state - state immediately before (or after in backward time) the maneuver
      isForward - flag on propagation direction
      Returns:
      impulse vector