Class GNSSOrbitalElements<O extends GNSSOrbitalElements<O>>
java.lang.Object
org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElements<O>
- Type Parameters:
O- type of the orbital elements
- All Implemented Interfaces:
TimeStamped,ParameterDriversProvider
- Direct Known Subclasses:
CommonGnssData
public abstract class GNSSOrbitalElements<O extends GNSSOrbitalElements<O>>
extends GNSSOrbitalElementsDriversProvider
implements TimeStamped
This class provides the minimal set of orbital elements needed by the
GNSSPropagator.
The parameters are split in two groups: Keplerian orbital parameters and non-Keplerian
evolution parameters. All parameters can be updated as they are all instances of
ParameterDriver. Only the non-Keplerian parameters are returned in the
GNSSOrbitalElementsDriversProvider.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.
- Since:
- 13.0
- Author:
- Pascal Parraud, Luc Maisonobe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName for argument of perigee parameter.static final StringName for eccentricity parameter.static final StringName for inclination at reference time parameter.static final StringName for mean anomaly at reference time parameter.static final StringName for longitude of ascending node at weekly epoch parameter.static final StringName for semi major axis parameter.Fields inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
A_DOT, A_DOT_INDEX, CIC_INDEX, CIS_INDEX, CRC_INDEX, CRS_INDEX, CUC_INDEX, CUS_INDEX, DELTA_N0, DELTA_N0_DOT, DELTA_N0_DOT_INDEX, DELTA_N0_INDEX, I_DOT_INDEX, INCLINATION_COSINE, INCLINATION_RATE, INCLINATION_SINE, LATITUDE_COSINE, LATITUDE_SINE, LONGITUDE_RATE, OMEGA_DOT_INDEX, RADIUS_COSINE, RADIUS_SINE, SIZE, TIME, TIME_INDEX -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGNSSOrbitalElements(double mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system) Constructor.protectedGNSSOrbitalElements(FieldGnssOrbitalElements<T, A> original) Constructor from field instance. -
Method Summary
Modifier and TypeMethodDescriptiongetDate()Get the date.doublegetE()Get eccentricity.Get the driver for the eccentricity.doublegetI0()Get the inclination angle at reference time.Get the driver for the inclination angle at reference time.doublegetM0()Get mean anomaly at reference time.Get the driver for the mean anomaly at reference time.doubleGet the computed mean motion n₀.doublegetMu()Get the Earth's universal gravitational parameter.doubleGet longitude of ascending node of orbit plane at weekly epoch.Get the driver for the longitude of ascending node of orbit plane at weekly epoch.doublegetPa()Get argument of perigee.Get the driver for the argument of perigee.doublegetSma()Get semi-major axis.Get semi-major axis.voidsetE(double e) Set eccentricity.protected voidsetGnssDate(GNSSDate gnssDate) Set GNSS date.voidsetI0(double i0) Set inclination angle at reference time.voidsetM0(double anom) Set mean anomaly at reference time.voidsetOmega0(double om0) Set longitude of ascending node of orbit plane at weekly epoch.voidsetPa(double aop) Set argument of perigee.voidsetSma(double sma) Set semi-major axis.abstract <T extends CalculusFieldElement<T>,F extends FieldGnssOrbitalElements<T, O>>
FCreate a field version of the instance.Methods inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
copyNonKeplerian, copySelectionSettings, createDriver, getADot, getADotDriver, getAngularVelocity, getCic, getCicDriver, getCis, getCisDriver, getCrc, getCrcDriver, getCrs, getCrsDriver, getCuc, getCucDriver, getCus, getCusDriver, getCycleDuration, getDeltaN0, getDeltaN0Dot, getDeltaN0DotDriver, getDeltaN0Driver, getIDot, getIDotDriver, getOmegaDot, getOmegaDotDriver, getParametersDrivers, getPRN, getSystem, getTime, getTimeDriver, getTimeScales, getWeek, getWeeksInCycle, isCivilianMessage, setADot, setCic, setCis, setCrc, setCrs, setCuc, setCus, setDeltaN0, setDeltaN0Dot, setIDot, setOmegaDot, setPRN, setTime, setWeekMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedMethods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
Field Details
-
SEMI_MAJOR_AXIS
Name for semi major axis parameter.- See Also:
-
ECCENTRICITY
Name for eccentricity parameter.- See Also:
-
INCLINATION
Name for inclination at reference time parameter.- See Also:
-
ARGUMENT_OF_PERIGEE
Name for argument of perigee parameter.- See Also:
-
NODE_LONGITUDE
Name for longitude of ascending node at weekly epoch parameter.- See Also:
-
MEAN_ANOMALY
Name for mean anomaly at reference time parameter.- See Also:
-
-
Constructor Details
-
GNSSOrbitalElements
protected GNSSOrbitalElements(double mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system) Constructor.- Parameters:
mu- Earth's universal gravitational parameterangularVelocity- 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)
-
GNSSOrbitalElements
Constructor from field instance.- Type Parameters:
T- type of the field elementsA- type of the orbital elements (non-field version)- Parameters:
original- regular field instance
-
-
Method Details
-
toField
public abstract <T extends CalculusFieldElement<T>,F extends FieldGnssOrbitalElements<T, F toFieldO>> (Field<T> field) Create a field version of the instance.- Type Parameters:
T- type of the field elementsF- type of the orbital elements (field version)- Parameters:
field- field to which elements belong- Returns:
- field version of the instance
-
setGnssDate
Set GNSS date.- Specified by:
setGnssDatein classGNSSOrbitalElementsDriversProvider- Parameters:
gnssDate- GNSS date
-
getDate
Get the date.- Specified by:
getDatein interfaceTimeStamped- Returns:
- date attached to the object
-
getMu
public double getMu()Get the Earth's universal gravitational parameter.- Returns:
- the Earth's universal gravitational parameter
-
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)
-
getMeanMotion0
public double getMeanMotion0()Get the computed mean motion n₀.- Returns:
- the computed mean motion n₀ (rad/s)
- Since:
- 13.0
-
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
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
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
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
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)
-