Class GNSSOrbitalElements<O extends GNSSOrbitalElements<O>>

    • Constructor Detail

      • GNSSOrbitalElements

        protected GNSSOrbitalElements​(double mu,
                                      double angularVelocity,
                                      int weeksInCycle,
                                      TimeScales timeScales,
                                      SatelliteSystem system)
        Constructor.
        Parameters:
        mu - Earth's universal gravitational parameter
        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)
      • GNSSOrbitalElements

        protected GNSSOrbitalElements​(FieldGnssOrbitalElements<T,​A> original)
        Constructor from field instance.
        Type Parameters:
        T - type of the field elements
        A - type of the orbital elements (non-field version)
        Parameters:
        original - regular field instance
    • Method Detail

      • toField

        public abstract <T extends CalculusFieldElement<T>,​F extends FieldGnssOrbitalElements<T,​O>> F toField​(Field<T> field)
        Create a field version of the instance.
        Type Parameters:
        T - type of the field elements
        F - type of the orbital elements (field version)
        Parameters:
        field - field to which elements belong
        Returns:
        field version of the instance
      • getMu

        public double getMu()
        Get the Earth's universal gravitational parameter.
        Returns:
        the Earth's universal gravitational parameter
      • getSmaDriver

        public ParameterDriver getSmaDriver()
        Get semi-major axis.
        Returns:
        driver for the semi-major axis (m)
      • getSma

        public double getSma()
        Get semi-major axis.
        Returns:
        semi-major axis (m)
      • setSma

        public void setSma​(double sma)
        Set semi-major axis.
        Parameters:
        sma - demi-major axis (m)
      • getADot

        public double getADot()
        Getter for the change rate in semi-major axis.

        This value is non-zero only in civilian navigation messages

        Returns:
        the change rate in semi-major axis
        Since:
        13.0
      • getMeanMotion0

        public double getMeanMotion0()
        Get the computed mean motion n₀.
        Returns:
        the computed mean motion n₀ (rad/s)
        Since:
        13.0
      • getDeltaN0

        public double getDeltaN0()
        Getter for the delta of satellite mean motion.

        This value is non-zero only in navigation messages

        Returns:
        delta of satellite mean motion
        Since:
        13.0
      • getDeltaN0Dot

        public double getDeltaN0Dot()
        Getter for change rate in Δn₀.

        This value is non-zero only in civilian navigation messages

        Returns:
        change rate in Δn₀
        Since:
        13.0
      • getEDriver

        public ParameterDriver getEDriver()
        Get the driver for the eccentricity.
        Returns:
        driver for the eccentricity
      • getE

        public double getE()
        Get eccentricity.
        Returns:
        eccentricity
      • setE

        public void setE​(double e)
        Set eccentricity.
        Parameters:
        e - eccentricity
      • getI0Driver

        public ParameterDriver getI0Driver()
        Get the driver for the inclination angle at reference time.
        Returns:
        driver for the inclination angle at reference time (rad)
      • getI0

        public double getI0()
        Get the inclination angle at reference time.
        Returns:
        inclination angle at reference time (rad)
      • setI0

        public void setI0​(double i0)
        Set inclination angle at reference time.
        Parameters:
        i0 - inclination angle at reference time (rad)
      • getOmega0Driver

        public ParameterDriver getOmega0Driver()
        Get the driver for the longitude of ascending node of orbit plane at weekly epoch.
        Returns:
        driver for the longitude of ascending node of orbit plane at weekly epoch (rad)
      • getOmega0

        public double getOmega0()
        Get longitude of ascending node of orbit plane at weekly epoch.
        Returns:
        longitude of ascending node of orbit plane at weekly epoch (rad)
      • setOmega0

        public void setOmega0​(double om0)
        Set longitude of ascending node of orbit plane at weekly epoch.
        Parameters:
        om0 - longitude of ascending node of orbit plane at weekly epoch (rad)
      • getPaDriver

        public ParameterDriver getPaDriver()
        Get the driver for the argument of perigee.
        Returns:
        driver for the argument of perigee (rad)
      • getPa

        public double getPa()
        Get argument of perigee.
        Returns:
        argument of perigee (rad)
      • setPa

        public void setPa​(double aop)
        Set argument of perigee.
        Parameters:
        aop - argument of perigee (rad)
      • getM0Driver

        public ParameterDriver getM0Driver()
        Get the driver for the mean anomaly at reference time.
        Returns:
        driver for the mean anomaly at reference time (rad)
      • getM0

        public double getM0()
        Get mean anomaly at reference time.
        Returns:
        mean anomaly at reference time (rad)
      • setM0

        public void setM0​(double anom)
        Set mean anomaly at reference time.
        Parameters:
        anom - mean anomaly at reference time (rad)