Class GLONASSAnalyticalPropagator
- java.lang.Object
-
- org.orekit.propagation.AbstractPropagator
-
- org.orekit.propagation.analytical.AbstractAnalyticalPropagator
-
- org.orekit.propagation.analytical.gnss.GLONASSAnalyticalPropagator
-
- All Implemented Interfaces:
Propagator,PVCoordinatesProvider
public class GLONASSAnalyticalPropagator extends AbstractAnalyticalPropagator
This class aims at propagating a GLONASS orbit fromGLONASSOrbitalElements.Caution: The Glonass analytical propagator can only be used with
GLONASSAlmanac. Using this propagator with aGLONASSNavigationMessageis prone to error.- Since:
- 10.0
- Author:
- Bryan Cazabonne
- See Also:
- GLONASS Interface Control Document
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.Propagator
DEFAULT_MASS
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FramegetECEF()Gets the Earth Centered Earth Fixed frame used to propagate GLONASS orbits.FramegetECI()Gets the Earth Centered Inertial frame used to propagate the orbit.FramegetFrame()Get the frame in which the orbit is propagated.GLONASSOrbitalElementsgetGLONASSOrbitalElements()Gets the underlying GLONASS orbital elements.protected doublegetMass(AbsoluteDate date)Get the mass.static doublegetMU()Get the Earth gravity coefficient used for GLONASS propagation.PVCoordinatespropagateInEcef(AbsoluteDate date)Gets the PVCoordinates of the GLONASS SV inECEF frame.protected OrbitpropagateOrbit(AbsoluteDate date)Extrapolate an orbit up to a specific target date.voidresetInitialState(SpacecraftState state)Reset the propagator initial state.protected voidresetIntermediateState(SpacecraftState state, boolean forward)Reset an intermediate state.-
Methods inherited from class org.orekit.propagation.analytical.AbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getJacobiansColumnsNames, getPvProvider, propagate
-
Methods inherited from class org.orekit.propagation.AbstractPropagator
addAdditionalStateProvider, createHarvester, getAdditionalStateProviders, getAttitudeProvider, getHarvester, getInitialState, getManagedAdditionalStates, getMultiplexer, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.Propagator
clearStepHandlers, getPosition, getPVCoordinates, setStepHandler, setStepHandler
-
-
-
-
Method Detail
-
propagateInEcef
public PVCoordinates propagateInEcef(AbsoluteDate date)
Gets the PVCoordinates of the GLONASS SV inECEF frame.The algorithm is defined at Appendix M.1 from GLONASS Interface Control Document, with automatic differentiation added to compute velocity and acceleration.
- Parameters:
date- the computation date- Returns:
- the GLONASS SV PVCoordinates in
ECEF frame
-
getMass
protected double getMass(AbsoluteDate date)
Get the mass.- Specified by:
getMassin classAbstractAnalyticalPropagator- Parameters:
date- target date for the orbit- Returns:
- mass mass
-
getMU
public static double getMU()
Get the Earth gravity coefficient used for GLONASS propagation.- Returns:
- the Earth gravity coefficient.
-
getGLONASSOrbitalElements
public GLONASSOrbitalElements getGLONASSOrbitalElements()
Gets the underlying GLONASS orbital elements.- Returns:
- the underlying GLONASS orbital elements
-
getECI
public Frame getECI()
Gets the Earth Centered Inertial frame used to propagate the orbit.- Returns:
- the ECI frame
-
getECEF
public Frame getECEF()
Gets the Earth Centered Earth Fixed frame used to propagate GLONASS orbits.- Returns:
- the ECEF frame
-
getFrame
public Frame getFrame()
Get the frame in which the orbit is propagated.The propagation frame is the definition frame of the initial state, so this method should be called after this state has been set, otherwise it may return null.
- Specified by:
getFramein interfacePropagator- Overrides:
getFramein classAbstractPropagator- Returns:
- frame in which the orbit is propagated
- See Also:
Propagator.resetInitialState(SpacecraftState)
-
resetInitialState
public void resetInitialState(SpacecraftState state)
Reset the propagator initial state.- Specified by:
resetInitialStatein interfacePropagator- Overrides:
resetInitialStatein classAbstractPropagator- Parameters:
state- new initial state to consider
-
resetIntermediateState
protected void resetIntermediateState(SpacecraftState state, boolean forward)
Reset an intermediate state.- Specified by:
resetIntermediateStatein classAbstractAnalyticalPropagator- Parameters:
state- new intermediate state to considerforward- if true, the intermediate state is valid for propagations after itself
-
propagateOrbit
protected Orbit propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.- Specified by:
propagateOrbitin classAbstractAnalyticalPropagator- Parameters:
date- target date for the orbit- Returns:
- extrapolated parameters
-
-