Interface OrbitalParameterFactory<P extends OrbitalParameters>

Type Parameters:
P - type of the orbital parameters
All Superinterfaces:
Cloneable
All Known Implementing Classes:
AbstractNavigationMessageFactory, AbstractOrbitalParameterFactory, AbstractOrbitFactory, BeidouAlmanacFactory, BeidouCivilianNavigationMessageFactory, BeidouLegacyNavigationMessageFactory, CartesianOrbitFactory, CircularOrbitFactory, CivilianNavigationMessageFactory, EquinoctialOrbitFactory, FixedPointTleGenerationAlgorithm, GalileoAlmanacFactory, GalileoNavigationMessageFactory, GNSSOrbitalElementsFactory, GPSAlmanacFactory, GPSCivilianNavigationMessageFactory, GPSLegacyNavigationMessageFactory, KeplerianOrbitFactory, LeastSquaresTleGenerationAlgorithm, LegacyNavigationMessageFactory, NavICAlmanacFactory, NavICL1NvNavigationMessageFactory, NavICLegacyNavigationMessageFactory, QZSSAlmanacFactory, QZSSCivilianNavigationMessageFactory, QZSSLegacyNavigationMessageFactory, TleGenerationAlgorithm

public interface OrbitalParameterFactory<P extends OrbitalParameters> extends Cloneable
Factory for orbital parameters.
Since:
14.0
  • Method Details

    • getOrbitType

      OrbitType getOrbitType()
      Get the orbit type to use.
      Returns:
      orbit type to use
    • getOrbitalParametersDrivers

      ParameterDriversList getOrbitalParametersDrivers()
      Get the drivers for orbital parameters.

      There are always exactly 6 drivers for orbital parameters that correspond to Keplerian motion. Some orbital parameters have additional drivers for non-Keplerian motion (TLE has a M2 parameter, GNSS orbital elements have Δa, iDot…) These additional drivers are not included here, they are provided by getNonKeplerianParametersDrivers().

      Returns:
      drivers for orbital parameters
    • getNonKeplerianParametersDrivers

      ParameterDriversList getNonKeplerianParametersDrivers()
      Get the drivers for additional drivers for non-Keplerian motion.
      Returns:
      drivers for non-Keplerian motion
    • getFrame

      Frame getFrame()
      Get the frame in which the orbit is propagated.
      Returns:
      frame in which the orbit is propagated
    • setFrame

      void setFrame(Frame frame)
      Set the frame in which the orbit is propagated.
      Parameters:
      frame - frame in which the orbit is propagated
    • getPositionAngleType

      PositionAngleType getPositionAngleType()
      Get the position angle type to use.
      Returns:
      position angle type to use
    • setPositionAngleType

      void setPositionAngleType(PositionAngleType positionAngleType)
      Set the position angle type to use.
      Parameters:
      positionAngleType - position angle type to use
    • getDate

      AbsoluteDate getDate()
      Get the date of the orbital parameters.
      Returns:
      date of the orbital parameters
    • setDate

      void setDate(AbsoluteDate date)
      Set the date of the orbital parameters.
      Parameters:
      date - date of the orbital parameters
    • getMu

      double getMu()
      Get the central attraction coefficient (µ - m³/s²) value.
      Returns:
      the central attraction coefficient (µ - m³/s²) value
    • setMu

      void setMu(double mu)
      Set the central attraction coefficient (µ - m³/s²) value.
      Parameters:
      mu - the central attraction coefficient (µ - m³/s²) value
    • reset

      void reset(Orbit orbit)
      Reset the drivers to match specified orbit.

      All of date, mu, and drivers values will be reset, but neither the frame nor the type of orbital parameters generated by createFromDrivers() will be reset.

      The specified orbit does not need to match the type of orbital parameters managed by the factory. Conversion will be applied if needed.

      Parameters:
      orbit - orbit to be matched
    • createFromDrivers

      P createFromDrivers()
      Create orbital parameters from current drivers values.
      Returns:
      created orbital parameters
    • getJacobianWrtParameters

      RealMatrix getJacobianWrtParameters()
      Get the Jacobian of the Cartesian coordinates with respect to the orbital parameters.

      The Jacobian is evaluated at the current drivers values, at the factory date and in the factory frame.

      Returns:
      jacobian matrix dC/dB, where C are the Cartesian coordinates and B the orbital parameters this factory is built upon
    • getJacobianWrtCartesian

      RealMatrix getJacobianWrtCartesian()
      Get the Jacobian of the orbital parameters with respect to the Cartesian coordinates.

      This is the inverse of getJacobianWrtParameters(), and it is evaluated under the very same conditions.

      Returns:
      jacobian matrix dB/dC, where B are the orbital parameters this factory is built upon and C the Cartesian coordinates