Class FieldGnssPropagator<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.propagation.FieldAbstractPropagator<T>
-
- org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator<T>
-
- org.orekit.propagation.analytical.gnss.FieldGnssPropagator<T>
-
- Type Parameters:
T
- type of the field elements
- All Implemented Interfaces:
FieldPropagator<T>
,FieldPVCoordinatesProvider<T>
,ParameterDriversProvider
public class FieldGnssPropagator<T extends CalculusFieldElement<T>> extends FieldAbstractAnalyticalPropagator<T>
Common handling ofFieldAbstractAnalyticalPropagator
methods for GNSS propagators.This class allows to provide easily a subset of
FieldAbstractAnalyticalPropagator
methods for specific GNSS propagators.- Since:
- 13.0
- Author:
- Pascal Parraud, Luc Maisonobe
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.FieldPropagator
DEFAULT_MASS
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Frame
getECEF()
Gets the Earth Centered Earth Fixed frame used to propagate GNSS orbits according to the Interface Control Document.Frame
getECI()
Gets the Earth Centered Inertial frame used to propagate the orbit.Frame
getFrame()
Get the frame in which the orbit is propagated.protected T
getMass(FieldAbsoluteDate<T> date)
Get the mass.T
getMU()
Gets the Earth gravity coefficient used for GNSS propagation.List<ParameterDriver>
getParametersDrivers()
Get the drivers for parameters.FieldPVCoordinates<T>
propagateInEcef(FieldAbsoluteDate<T> date, T[] parameters)
Gets the PVCoordinates of the GNSS SV inECEF frame
.FieldOrbit<T>
propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters)
Propagate an orbit up to a specific target date.void
resetInitialState(FieldSpacecraftState<T> state)
Reset the propagator initial state.protected void
resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
Reset an intermediate state.-
Methods inherited from class org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventDetectors, propagate
-
Methods inherited from class org.orekit.propagation.FieldAbstractPropagator
addAdditionalDataProvider, getAdditionalDataProviders, getAttitudeProvider, getField, getInitialState, getManagedAdditionalData, getMultiplexer, getStartDate, initializeAdditionalData, initializePropagation, isAdditionalDataManaged, propagate, setAttitudeProvider, setStartDate, stateChanged, updateAdditionalData, updateUnmanagedData
-
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.FieldPropagator
clearStepHandlers, getPosition, getPVCoordinates, setStepHandler, setStepHandler
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Method Detail
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Returns:
- drivers for parameters
-
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 GNSS orbits according to the Interface Control Document.- Returns:
- the ECEF frame
-
getMU
public T getMU()
Gets the Earth gravity coefficient used for GNSS propagation.- Returns:
- the Earth gravity coefficient.
-
propagateOrbit
public FieldOrbit<T> propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters)
Propagate an orbit up to a specific target date.- Specified by:
propagateOrbit
in classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>
- Parameters:
date
- target date for the orbitparameters
- model parameters- Returns:
- propagated orbit
-
propagateInEcef
public FieldPVCoordinates<T> propagateInEcef(FieldAbsoluteDate<T> date, T[] parameters)
Gets the PVCoordinates of the GNSS SV inECEF frame
.The algorithm uses automatic differentiation to compute velocity and acceleration.
- Parameters:
date
- the computation dateparameters
- propagation parameters- Returns:
- the GNSS SV PVCoordinates in
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:
getFrame
in interfaceFieldPropagator<T extends CalculusFieldElement<T>>
- Overrides:
getFrame
in classFieldAbstractPropagator<T extends CalculusFieldElement<T>>
- Returns:
- frame in which the orbit is propagated
- See Also:
FieldPropagator.resetInitialState(FieldSpacecraftState)
-
getMass
protected T getMass(FieldAbsoluteDate<T> date)
Get the mass.- Specified by:
getMass
in classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>
- Parameters:
date
- target date for the orbit- Returns:
- mass mass
-
resetInitialState
public void resetInitialState(FieldSpacecraftState<T> state)
Reset the propagator initial state.- Specified by:
resetInitialState
in interfaceFieldPropagator<T extends CalculusFieldElement<T>>
- Overrides:
resetInitialState
in classFieldAbstractPropagator<T extends CalculusFieldElement<T>>
- Parameters:
state
- new initial state to consider
-
resetIntermediateState
protected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
Reset an intermediate state.- Specified by:
resetIntermediateState
in classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>
- Parameters:
state
- new intermediate state to considerforward
- if true, the intermediate state is valid for propagations after itself
-
-