Class AbstractStateCovarianceInterpolator

java.lang.Object
org.orekit.time.AbstractTimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
org.orekit.propagation.covariance.AbstractStateCovarianceInterpolator
All Implemented Interfaces:
TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
Direct Known Subclasses:
StateCovarianceBlender, StateCovarianceKeplerianHermiteInterpolator

public abstract class AbstractStateCovarianceInterpolator extends AbstractTimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
Abstract class for orbit and state covariance interpolator.
Author:
Vincent Cucchietti
See Also:
  • Field Details

    • DEFAULT_POSITION_ANGLE

      public static final PositionAngleType DEFAULT_POSITION_ANGLE
      Default position angle for covariance expressed in Cartesian elements.
    • COLUMN_DIM

      public static final int COLUMN_DIM
      Default column dimension for position-velocity state covariance.
      See Also:
    • ROW_DIM

      public static final int ROW_DIM
      Default row dimension for position-velocity state covariance.
      See Also:
  • Constructor Details

    • AbstractStateCovarianceInterpolator

      protected AbstractStateCovarianceInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, LOFType outLOF)
      Constructor.
      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      orbitInterpolator - orbit interpolator
      outLOF - local orbital frame
      See Also:
    • AbstractStateCovarianceInterpolator

      protected AbstractStateCovarianceInterpolator(int interpolationPoints, double extrapolationThreshold, TimeInterpolator<Orbit> orbitInterpolator, Frame outFrame, OrbitType outOrbitType, PositionAngleType outPositionAngleType)
      Constructor.
      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      orbitInterpolator - orbit interpolator
      outFrame - desired output covariance frame
      outOrbitType - desired output orbit type
      outPositionAngleType - desired output position angle
      See Also:
  • Method Details

    • getSubInterpolators

      public List<TimeInterpolator<? extends TimeStamped>> getSubInterpolators()
      Get all lowest level interpolators implemented by this instance, otherwise return a list with this instance only.

      An example would be the spacecraft state interpolator which can use different interpolators for each of its attributes (orbit, absolute position-velocity-acceleration coordinates, mass...). In this case, it would return the list of all of these interpolators (or possibly all of their sub-interpolators if they were to use multiple interpolators themselves).

      Specified by:
      getSubInterpolators in interface TimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
      Overrides:
      getSubInterpolators in class AbstractTimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
      Returns:
      list of interpolators
    • interpolate

      Interpolate orbit and associated covariance.
      Specified by:
      interpolate in class AbstractTimeInterpolator<TimeStampedPair<Orbit,StateCovariance>>
      Parameters:
      interpolationData - interpolation data
      Returns:
      interpolated orbit and associated covariance
    • getOutFrame

      public Frame getOutFrame()
      Get output frame.
      Returns:
      output frame. Can be null.
    • getOutLOF

      public LOFType getOutLOF()
      Get output local orbital frame.
      Returns:
      output local orbital frame. Can be null.
    • getOutOrbitType

      public OrbitType getOutOrbitType()
      Get output orbit type.
      Returns:
      output orbit type.
    • getOutPositionAngleType

      public PositionAngleType getOutPositionAngleType()
      Get output position angle type.
      Returns:
      output position angle.
    • getOrbitInterpolator

      public TimeInterpolator<Orbit> getOrbitInterpolator()
      Get orbit interpolator.
      Returns:
      orbit interpolator.
    • interpolateOrbit

      protected Orbit interpolateOrbit(AbsoluteDate interpolationDate, List<TimeStampedPair<Orbit,StateCovariance>> neighborList)
      Interpolate orbit at given interpolation date.
      Parameters:
      interpolationDate - interpolation date
      neighborList - neighbor list
      Returns:
      interpolated orbit
    • computeInterpolatedCovarianceInOrbitFrame

      protected abstract StateCovariance computeInterpolatedCovarianceInOrbitFrame(List<TimeStampedPair<Orbit,StateCovariance>> uncertainStates, Orbit interpolatedOrbit)
      Compute the interpolated covariance expressed in the interpolated orbit frame.
      Parameters:
      uncertainStates - list of orbits and associated covariances
      interpolatedOrbit - interpolated orbit
      Returns:
      interpolated covariance expressed in the interpolated orbit frame
    • expressCovarianceInDesiredOutput

      protected TimeStampedPair<Orbit,StateCovariance> expressCovarianceInDesiredOutput(Orbit interpolatedOrbit, StateCovariance covarianceInOrbitFrame)
      Express covariance in output configuration defined at this instance construction.
      Parameters:
      interpolatedOrbit - interpolated orbit
      covarianceInOrbitFrame - covariance expressed in interpolated orbit frame
      Returns:
      covariance in desired output configuration