Class GNSSOrbitalElementsDriversProvider

java.lang.Object
org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
All Implemented Interfaces:
ParameterDriversProvider
Direct Known Subclasses:
FieldGnssOrbitalElements, GNSSOrbitalElements

public abstract class GNSSOrbitalElementsDriversProvider extends Object implements ParameterDriversProvider
This class manages the non-keplerian parameter drivers for GNSSOrbitalElements and FieldGnssOrbitalElements.

In both primitive double and field classes, only the non-Keplerian parameters are returned in the getParametersDrivers() method, the Keplerian orbital parameters must be accessed independently. These groups ensure proper separate computation of state transition matrix and Jacobian matrix by GNSSPropagator and FieldGnssPropagator.

Since:
13.0
Author:
Luc Maisonobe
  • Field Details

  • Constructor Details

    • GNSSOrbitalElementsDriversProvider

      protected GNSSOrbitalElementsDriversProvider(double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
      Constructor.
      Parameters:
      angularVelocity - mean angular velocity of the Earth for the GNSS model
      weeksInCycle - number of weeks in the GNSS cycle
      timeScales - known time scales
      system - satellite system to consider for interpreting week number (may be different from real system, for example in Rinex nav, weeks are always according to GPS)
  • Method Details

    • copySelectionSettings

      protected void copySelectionSettings(GNSSOrbitalElementsDriversProvider original)
      Copy drivers selection settings from another instance.
      Parameters:
      original - original instance providing selection settings
    • setGnssDate

      protected abstract void setGnssDate(GNSSDate gnssDate)
      Set GNSS date.
      Parameters:
      gnssDate - GNSS date
    • createDriver

      protected static ParameterDriver createDriver(String name, int scalePower)
      Create parameter driver.
      Parameters:
      name - name of the driver
      scalePower - power of two of the scale parameter
      Returns:
      build driver
    • getSystem

      public SatelliteSystem getSystem()
      Get satellite system.
      Returns:
      satellite system
    • getTimeScales

      public TimeScales getTimeScales()
      Get known time scales.
      Returns:
      known time scales
    • getParametersDrivers

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

      Only the 12 non-Keplerian evolution parameters are listed here, i.e. getTimeDriver() (at index TIME_INDEX), getADotDriver() (at index A_DOT_INDEX), getDeltaN0Driver() (at index DELTA_N0_INDEX), getDeltaN0DotDriver() (at index DELTA_N0_DOT_INDEX), getIDotDriver() (at index I_DOT_INDEX), getOmegaDotDriver() (at index OMEGA_DOT_INDEX), getCucDriver() (at index CUC_INDEX), getCusDriver() (at index CUS_INDEX), getCrcDriver() (at index CRC_INDEX), getCrsDriver() (at index CRS_INDEX), getCicDriver() (at index CIC_INDEX), and getCisDriver() (at index CIS_INDEX)

      The Keplerian orbital parameters drivers are not included.

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

      protected void copyNonKeplerian(GNSSOrbitalElementsDriversProvider original)
      Copy non-Keplerian elements.
      Parameters:
      original - original instance to copy from
      Since:
      14.0
    • getAngularVelocity

      public double getAngularVelocity()
      Get the mean angular velocity of the Earth of the GNSS model.
      Returns:
      mean angular velocity of the Earth of the GNSS model
    • getWeeksInCycle

      public int getWeeksInCycle()
      Get for the duration of the GNSS cycle in weeks.
      Returns:
      the duration of the GNSS cycle in weeks
    • getCycleDuration

      public double getCycleDuration()
      Get for the duration of the GNSS cycle in seconds.
      Returns:
      the duration of the GNSS cycle in seconds
    • getPRN

      public int getPRN()
      Get the PRN number of the satellite.
      Returns:
      PRN number of the satellite
    • setPRN

      public void setPRN(int number)
      Set the PRN number of the satellite.
      Parameters:
      number - the prn number ot set
    • getWeek

      public int getWeek()
      Get the reference week of the orbit.
      Returns:
      reference week of the orbit
    • setWeek

      public void setWeek(int week)
      Set the reference week of the orbit.
      Parameters:
      week - the week to set
    • getTimeDriver

      public ParameterDriver getTimeDriver()
      Get the driver for reference time of the GNSS orbit as a duration from week start.
      Returns:
      driver for the reference time of the GNSS orbit (s)
    • getTime

      public double getTime()
      Get reference time of the GNSS orbit as a duration from week start.
      Returns:
      reference time of the GNSS orbit (s)
    • setTime

      public void setTime(double time)
      Set reference time of the GNSS orbit as a duration from week start.
      Parameters:
      time - reference time of the GNSS orbit (s)
    • isCivilianMessage

      public boolean isCivilianMessage()
      Check if elements correspond to a civilian message.
      Returns:
      true if elements correspond to a civilian message
      Since:
      14.0
    • getADotDriver

      public ParameterDriver getADotDriver()
      Get driver for the change rate in semi-major axis.
      Returns:
      driver for the change rate in semi-major axis
      Since:
      14.0
    • getADot

      public double getADot()
      Get change rate in semi-major axis.
      Returns:
      the change rate in semi-major axis
      Since:
      14.0
    • setADot

      public void setADot(double aDot)
      Set change rate in semi-major axis.
      Parameters:
      aDot - change rate in semi-major axis
      Since:
      14.0
    • getDeltaN0Driver

      public ParameterDriver getDeltaN0Driver()
      Get the driver for delta of satellite mean motion.
      Returns:
      driver for delta of satellite mean motion
      Since:
      14.0
    • getDeltaN0

      public double getDeltaN0()
      Get the delta of satellite mean motion.
      Returns:
      the delta of satellite mean motion
      Since:
      14.0
    • setDeltaN0

      public void setDeltaN0(double deltaN0)
      Set the delta of satellite mean motion.
      Parameters:
      deltaN0 - the value to set
      Since:
      14.0
    • getDeltaN0DotDriver

      public ParameterDriver getDeltaN0DotDriver()
      Get the driver for change rate in Δn₀.
      Returns:
      driver for change rate in Δn₀
      Since:
      14.0
    • getDeltaN0Dot

      public double getDeltaN0Dot()
      Get the change rate in Δn₀.
      Returns:
      change rate in Δn₀
      Since:
      14.0
    • setDeltaN0Dot

      public void setDeltaN0Dot(double deltaN0Dot)
      Set the change rate in Δn₀.
      Parameters:
      deltaN0Dot - change rate in Δn₀
      Since:
      14.0
    • getIDotDriver

      public ParameterDriver getIDotDriver()
      Get the driver for the rate of inclination angle.
      Returns:
      driver for the rate of inclination angle (rad/s)
    • getIDot

      public double getIDot()
      Get rate of inclination angle.
      Returns:
      rate of inclination angle (rad/s)
    • setIDot

      public void setIDot(double iDot)
      Set the driver for the rate of inclination angle.
      Parameters:
      iDot - rate of inclination angle (rad/s)
    • getOmegaDotDriver

      public ParameterDriver getOmegaDotDriver()
      Get the driver for the rate of right ascension.
      Returns:
      driver for the rate of right ascension (rad/s)
    • getOmegaDot

      public double getOmegaDot()
      Get rate of right ascension.
      Returns:
      rate of right ascension (rad/s)
    • setOmegaDot

      public void setOmegaDot(double dom)
      Set rate of right ascension.
      Parameters:
      dom - rate of right ascension (rad/s)
    • getCucDriver

      public ParameterDriver getCucDriver()
      Get the driver for the amplitude of the cosine harmonic correction term to the argument of latitude.
      Returns:
      driver for the amplitude of the cosine harmonic correction term to the argument of latitude (rad)
    • getCuc

      public double getCuc()
      Get amplitude of the cosine harmonic correction term to the argument of latitude.
      Returns:
      amplitude of the cosine harmonic correction term to the argument of latitude (rad)
    • setCuc

      public void setCuc(double cuc)
      Set amplitude of the cosine harmonic correction term to the argument of latitude.
      Parameters:
      cuc - amplitude of the cosine harmonic correction term to the argument of latitude (rad)
    • getCusDriver

      public ParameterDriver getCusDriver()
      Get the driver for the amplitude of the sine harmonic correction term to the argument of latitude.
      Returns:
      driver for the amplitude of the sine harmonic correction term to the argument of latitude (rad)
    • getCus

      public double getCus()
      Get amplitude of the sine harmonic correction term to the argument of latitude.
      Returns:
      amplitude of the sine harmonic correction term to the argument of latitude (rad)
    • setCus

      public void setCus(double cus)
      Set amplitude of the sine harmonic correction term to the argument of latitude.
      Parameters:
      cus - amplitude of the sine harmonic correction term to the argument of latitude (rad)
    • getCrcDriver

      public ParameterDriver getCrcDriver()
      Get the driver for the amplitude of the cosine harmonic correction term to the orbit radius.
      Returns:
      driver for the amplitude of the cosine harmonic correction term to the orbit radius (m)
    • getCrc

      public double getCrc()
      Get amplitude of the cosine harmonic correction term to the orbit radius.
      Returns:
      amplitude of the cosine harmonic correction term to the orbit radius (m)
    • setCrc

      public void setCrc(double crc)
      Set amplitude of the cosine harmonic correction term to the orbit radius.
      Parameters:
      crc - amplitude of the cosine harmonic correction term to the orbit radius (m)
    • getCrsDriver

      public ParameterDriver getCrsDriver()
      Get the driver for the amplitude of the sine harmonic correction term to the orbit radius.
      Returns:
      driver for the amplitude of the sine harmonic correction term to the orbit radius (m)
    • getCrs

      public double getCrs()
      Get amplitude of the sine harmonic correction term to the orbit radius.
      Returns:
      amplitude of the sine harmonic correction term to the orbit radius (m)
    • setCrs

      public void setCrs(double crs)
      Set amplitude of the sine harmonic correction term to the orbit radius.
      Parameters:
      crs - amplitude of the sine harmonic correction term to the orbit radius (m)
    • getCicDriver

      public ParameterDriver getCicDriver()
      Get the driver for the amplitude of the cosine harmonic correction term to the angle of inclination.
      Returns:
      driver for the amplitude of the cosine harmonic correction term to the angle of inclination (rad)
    • getCic

      public double getCic()
      Get amplitude of the cosine harmonic correction term to the angle of inclination.
      Returns:
      amplitude of the cosine harmonic correction term to the angle of inclination (rad)
    • setCic

      public void setCic(double cic)
      Set amplitude of the cosine harmonic correction term to the angle of inclination.
      Parameters:
      cic - amplitude of the cosine harmonic correction term to the angle of inclination (rad)
    • getCisDriver

      public ParameterDriver getCisDriver()
      Get the driver for the amplitude of the sine harmonic correction term to the angle of inclination.
      Returns:
      driver for the amplitude of the sine harmonic correction term to the angle of inclination (rad)
    • getCis

      public double getCis()
      Get amplitude of the sine harmonic correction term to the angle of inclination.
      Returns:
      amplitude of the sine harmonic correction term to the angle of inclination (rad)
    • setCis

      public void setCis(double cis)
      Set amplitude of the sine harmonic correction term to the angle of inclination.
      Parameters:
      cis - amplitude of the sine harmonic correction term to the angle of inclination (rad)