Class FieldGnssOrbitalElements<T extends CalculusFieldElement<T>,O extends GNSSOrbitalElements<O>>
- java.lang.Object
-
- org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
-
- org.orekit.propagation.analytical.gnss.data.FieldGnssOrbitalElements<T,O>
-
- Type Parameters:
T
- type of the field elementsO
- type of the orbital elements (non-field version)
- All Implemented Interfaces:
FieldTimeStamped<T>
,ParameterDriversProvider
- Direct Known Subclasses:
FieldCommonGnssData
public abstract class FieldGnssOrbitalElements<T extends CalculusFieldElement<T>,O extends GNSSOrbitalElements<O>> extends GNSSOrbitalElementsDriversProvider implements FieldTimeStamped<T>
This class provides the minimal set of orbital elements needed by theFieldGnssPropagator
.- Since:
- 13.0
- Author:
- Luc Maisonobe
-
-
Field Summary
-
Fields inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
CIC_INDEX, CIS_INDEX, CRC_INDEX, CRS_INDEX, CUC_INDEX, CUS_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
Constructors Modifier Constructor Description protected
FieldGnssOrbitalElements(Function<V,T> converter, FieldGnssOrbitalElements<V,O> original)
Constructor from different field instance.protected
FieldGnssOrbitalElements(Field<T> field, O original)
Constructor from non-field instance.protected
FieldGnssOrbitalElements(T mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <U extends CalculusFieldElement<U>,G extends FieldGnssOrbitalElements<U,O>>
GchangeField(Function<T,U> converter)
Create another field version of the instance.T
getADot()
Getter for the change rate in semi-major axis.FieldAbsoluteDate<T>
getDate()
Get date.T
getDeltaN0()
Getter for the delta of satellite mean motion.T
getDeltaN0Dot()
Getter for change rate in Δn₀.T
getE()
Get eccentricity.T
getI0()
Get the inclination angle at reference time.T
getM0()
Get mean anomaly at reference time.T
getMeanMotion0()
Get the computed mean motion n₀.T
getMu()
Get the Earth's universal gravitational parameter.T
getOmega0()
Get longitude of ascending node of orbit plane at weekly epoch.T
getPa()
Get argument of perigee.T
getSma()
Get semi-major axis.void
setE(T e)
Set eccentricity.protected void
setGnssDate(GNSSDate gnssDate)
Set GNSS date.void
setI0(T i0)
Set inclination angle at reference time.void
setM0(T m0)
Set mean anomaly at reference time.void
setOmega0(T omega0)
Set longitude of ascending node of orbit plane at weekly epoch.void
setPa(T pa)
Set argument of perigee.void
setSma(T sma)
Set semi-major axis.abstract O
toNonField()
Create a non-field version of the instance.-
Methods inherited from class org.orekit.propagation.analytical.gnss.data.GNSSOrbitalElementsDriversProvider
copySelectionSettings, createDriver, getAngularVelocity, getCic, getCicDriver, getCis, getCisDriver, getCrc, getCrcDriver, getCrs, getCrsDriver, getCuc, getCucDriver, getCus, getCusDriver, getCycleDuration, getIDot, getIDotDriver, getOmegaDot, getOmegaDotDriver, getParametersDrivers, getPRN, getSystem, getTime, getTimeDriver, getTimeScales, getWeek, getWeeksInCycle, setCic, setCis, setCrc, setCrs, setCuc, setCus, setIDot, setOmegaDot, setPRN, setTime, setWeek
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.time.FieldTimeStamped
durationFrom
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Constructor Detail
-
FieldGnssOrbitalElements
protected FieldGnssOrbitalElements(T mu, double angularVelocity, int weeksInCycle, TimeScales timeScales, SatelliteSystem system)
Simple 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)
-
FieldGnssOrbitalElements
protected FieldGnssOrbitalElements(Field<T> field, O original)
Constructor from non-field instance.- Parameters:
field
- field to which elements belongoriginal
- regular non-field instance
-
FieldGnssOrbitalElements
protected FieldGnssOrbitalElements(Function<V,T> converter, FieldGnssOrbitalElements<V,O> original)
Constructor from different field instance.- Type Parameters:
V
- type of the old field elements- Parameters:
original
- regular non-field instanceconverter
- for field elements
-
-
Method Detail
-
toNonField
public abstract O toNonField()
Create a non-field version of the instance.- Returns:
- non-field version of the instance
-
changeField
public abstract <U extends CalculusFieldElement<U>,G extends FieldGnssOrbitalElements<U,O>> G changeField(Function<T,U> converter)
Create another field version of the instance.- Type Parameters:
U
- type of the new field elementsG
- type of the orbital elements (field version)- Parameters:
converter
- for field elements- Returns:
- field version of the instance
-
setGnssDate
protected void setGnssDate(GNSSDate gnssDate)
Set GNSS date.- Specified by:
setGnssDate
in classGNSSOrbitalElementsDriversProvider
- Parameters:
gnssDate
- GNSS date
-
getDate
public FieldAbsoluteDate<T> getDate()
Get date.- Specified by:
getDate
in interfaceFieldTimeStamped<T extends CalculusFieldElement<T>>
- Returns:
- date
-
getMu
public T getMu()
Get the Earth's universal gravitational parameter.- Returns:
- the Earth's universal gravitational parameter
-
getSma
public T getSma()
Get semi-major axis.- Returns:
- semi-major axis (m)
-
setSma
public void setSma(T sma)
Set semi-major axis.- Parameters:
sma
- demi-major axis (m)
-
getADot
public T 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 T getMeanMotion0()
Get the computed mean motion n₀.- Returns:
- the computed mean motion n₀ (rad/s)
- Since:
- 13.0
-
getDeltaN0
public T 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 T 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
-
getE
public T getE()
Get eccentricity.- Returns:
- eccentricity
-
setE
public void setE(T e)
Set eccentricity.- Parameters:
e
- eccentricity
-
getI0
public T getI0()
Get the inclination angle at reference time.- Returns:
- inclination angle at reference time (rad)
-
setI0
public void setI0(T i0)
Set inclination angle at reference time.- Parameters:
i0
- inclination angle at reference time (rad)
-
getOmega0
public T 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(T omega0)
Set longitude of ascending node of orbit plane at weekly epoch.- Parameters:
omega0
- longitude of ascending node of orbit plane at weekly epoch (rad)
-
getPa
public T getPa()
Get argument of perigee.- Returns:
- argument of perigee (rad)
-
setPa
public void setPa(T pa)
Set argument of perigee.- Parameters:
pa
- argument of perigee (rad)
-
getM0
public T getM0()
Get mean anomaly at reference time.- Returns:
- mean anomaly at reference time (rad)
-
setM0
public void setM0(T m0)
Set mean anomaly at reference time.- Parameters:
m0
- mean anomaly at reference time (rad)
-
-