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 forGNSSOrbitalElements
andFieldGnssOrbitalElements
.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 byGNSSPropagator
andFieldGnssPropagator
.- Since:
- 13.0
- Author:
- Luc Maisonobe
-
-
Field Summary
Fields Modifier and Type Field Description static int
CIC_INDEX
Index of cosine on inclination in the list returned bygetParametersDrivers()
.static int
CIS_INDEX
Index of sine on inclination in the list returned bygetParametersDrivers()
.static int
CRC_INDEX
Index of cosine on radius in the list returned bygetParametersDrivers()
.static int
CRS_INDEX
Index of sine on radius in the list returned bygetParametersDrivers()
.static int
CUC_INDEX
Index of cosine on latitude argument in the list returned bygetParametersDrivers()
.static int
CUS_INDEX
Index of sine on latitude argument in the list returned bygetParametersDrivers()
.static int
I_DOT_INDEX
Index of inclination rate in the list returned bygetParametersDrivers()
.static String
INCLINATION_COSINE
Name for cosine of inclination harmonic parameter.static String
INCLINATION_RATE
Name for inclination rate parameter.static String
INCLINATION_SINE
Name for sine of inclination harmonic parameter.static String
LATITUDE_COSINE
Name for cosine of latitude argument harmonic parameter.static String
LATITUDE_SINE
Name for sine of latitude argument harmonic parameter.static String
LONGITUDE_RATE
Name for longitude rate parameter.static int
OMEGA_DOT_INDEX
Index of longitude rate in the list returned bygetParametersDrivers()
.static String
RADIUS_COSINE
Name for cosine of orbit radius harmonic parameter.static String
RADIUS_SINE
Name for sine of orbit radius harmonic parameter.static int
SIZE
Size of parameters array.static String
TIME
Name for time parameter.static int
TIME_INDEX
Index of time in the list returned bygetParametersDrivers()
.
-
Constructor Summary
Constructors Modifier Constructor Description protected
GNSSOrbitalElementsDriversProvider(double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
copySelectionSettings(GNSSOrbitalElementsDriversProvider original)
Copy drivers selection settings from another instance.protected static ParameterDriver
createDriver(String name)
Create parameter driver.double
getAngularVelocity()
Get the mean angular velocity of the Earth of the GNSS model.double
getCic()
Get amplitude of the cosine harmonic correction term to the angle of inclination.ParameterDriver
getCicDriver()
Get the driver for the amplitude of the cosine harmonic correction term to the angle of inclination.double
getCis()
Get amplitude of the sine harmonic correction term to the angle of inclination.ParameterDriver
getCisDriver()
Get the driver for the amplitude of the sine harmonic correction term to the angle of inclination.double
getCrc()
Get amplitude of the cosine harmonic correction term to the orbit radius.ParameterDriver
getCrcDriver()
Get the driver for the amplitude of the cosine harmonic correction term to the orbit radius.double
getCrs()
Get amplitude of the sine harmonic correction term to the orbit radius.ParameterDriver
getCrsDriver()
Get the driver for the amplitude of the sine harmonic correction term to the orbit radius.double
getCuc()
Get amplitude of the cosine harmonic correction term to the argument of latitude.ParameterDriver
getCucDriver()
Get the driver for the amplitude of the cosine harmonic correction term to the argument of latitude.double
getCus()
Get amplitude of the sine harmonic correction term to the argument of latitude.ParameterDriver
getCusDriver()
Get the driver for the amplitude of the sine harmonic correction term to the argument of latitude.double
getCycleDuration()
Get for the duration of the GNSS cycle in seconds.double
getIDot()
Get rate of inclination angle.ParameterDriver
getIDotDriver()
Get the driver for the rate of inclination angle.double
getOmegaDot()
Get rate of right ascension.ParameterDriver
getOmegaDotDriver()
Get the driver for the rate of right ascension.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.int
getPRN()
Get the PRN number of the satellite.SatelliteSystem
getSystem()
Get satellite system.double
getTime()
Get reference time of the GNSS orbit as a duration from week start.ParameterDriver
getTimeDriver()
Get the driver for reference time of the GNSS orbit as a duration from week start.TimeScales
getTimeScales()
Get known time scales.int
getWeek()
Get the reference week of the orbit.int
getWeeksInCycle()
Get for the duration of the GNSS cycle in weeks.void
setCic(double cic)
Set amplitude of the cosine harmonic correction term to the angle of inclination.void
setCis(double cis)
Set amplitude of the sine harmonic correction term to the angle of inclination.void
setCrc(double crc)
Set amplitude of the cosine harmonic correction term to the orbit radius.void
setCrs(double crs)
Set amplitude of the sine harmonic correction term to the orbit radius.void
setCuc(double cuc)
Set amplitude of the cosine harmonic correction term to the argument of latitude.void
setCus(double cus)
Set amplitude of the sine harmonic correction term to the argument of latitude.protected abstract void
setGnssDate(GNSSDate gnssDate)
Set GNSS date.void
setIDot(double iDot)
Set the driver for the rate of inclination angle.void
setOmegaDot(double dom)
Set rate of right ascension.void
setPRN(int number)
Set the PRN number of the satellite.void
setTime(double time)
Set reference time of the GNSS orbit as a duration from week start.void
setWeek(int week)
Set the reference week of the orbit.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Field Detail
-
TIME
public static final String TIME
Name for time parameter.- See Also:
- Constant Field Values
-
INCLINATION_RATE
public static final String INCLINATION_RATE
Name for inclination rate parameter.- See Also:
- Constant Field Values
-
LONGITUDE_RATE
public static final String LONGITUDE_RATE
Name for longitude rate parameter.- See Also:
- Constant Field Values
-
LATITUDE_COSINE
public static final String LATITUDE_COSINE
Name for cosine of latitude argument harmonic parameter.- See Also:
- Constant Field Values
-
LATITUDE_SINE
public static final String LATITUDE_SINE
Name for sine of latitude argument harmonic parameter.- See Also:
- Constant Field Values
-
RADIUS_COSINE
public static final String RADIUS_COSINE
Name for cosine of orbit radius harmonic parameter.- See Also:
- Constant Field Values
-
RADIUS_SINE
public static final String RADIUS_SINE
Name for sine of orbit radius harmonic parameter.- See Also:
- Constant Field Values
-
INCLINATION_COSINE
public static final String INCLINATION_COSINE
Name for cosine of inclination harmonic parameter.- See Also:
- Constant Field Values
-
INCLINATION_SINE
public static final String INCLINATION_SINE
Name for sine of inclination harmonic parameter.- See Also:
- Constant Field Values
-
TIME_INDEX
public static final int TIME_INDEX
Index of time in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
I_DOT_INDEX
public static final int I_DOT_INDEX
Index of inclination rate in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
OMEGA_DOT_INDEX
public static final int OMEGA_DOT_INDEX
Index of longitude rate in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CUC_INDEX
public static final int CUC_INDEX
Index of cosine on latitude argument in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CUS_INDEX
public static final int CUS_INDEX
Index of sine on latitude argument in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CRC_INDEX
public static final int CRC_INDEX
Index of cosine on radius in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CRS_INDEX
public static final int CRS_INDEX
Index of sine on radius in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CIC_INDEX
public static final int CIC_INDEX
Index of cosine on inclination in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
CIS_INDEX
public static final int CIS_INDEX
Index of sine on inclination in the list returned bygetParametersDrivers()
.- See Also:
- Constant Field Values
-
SIZE
public static final int SIZE
Size of parameters array.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GNSSOrbitalElementsDriversProvider
protected GNSSOrbitalElementsDriversProvider(double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Constructor.- Parameters:
angularVelocity
- mean angular velocity of the Earth for the GNSS modelweeksInCycle
- number of weeks in the GNSS cycletimeScales
- known time scalessystem
- 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 Detail
-
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)
Create parameter driver.- Parameters:
name
- name of the driver- 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 9 non-Keplerian evolution parameters are listed here, i.e.
getTimeDriver()
(at indexTIME_INDEX
),getIDotDriver()
(at indexI_DOT_INDEX
),getOmegaDotDriver()
(at indexOMEGA_DOT_INDEX
),getCucDriver()
(at indexCUC_INDEX
),getCusDriver()
(at indexCUS_INDEX
),getCrcDriver()
(at indexCRC_INDEX
),getCrsDriver()
(at indexCRS_INDEX
),getCicDriver()
(at indexCIC_INDEX
), andgetCisDriver()
(at indexCIS_INDEX
)The Keplerian orbital parameters drivers are not included.
- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for parameters
-
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)
-
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)
-
-