Serializable, BoundedPropagator, Propagator, PVCoordinatesProviderpublic class Ephemeris extends AbstractAnalyticalPropagator implements BoundedPropagator, Serializable
| Modifier and Type | Field | Description |
|---|---|---|
static double |
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC |
Default extrapolation time threshold: 1ms.
|
DEFAULT_LAW, DEFAULT_MASS, EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE| Constructor | Description |
|---|---|
Ephemeris(List<SpacecraftState> states,
int interpolationPoints) |
Constructor with tabulated states.
|
Ephemeris(List<SpacecraftState> states,
int interpolationPoints,
double extrapolationThreshold) |
Constructor with tabulated states.
|
| Modifier and Type | Method | Description |
|---|---|---|
SpacecraftState |
basicPropagate(AbsoluteDate date) |
Propagate an orbit without any fancy features.
|
double |
getExtrapolationThreshold() |
Get the maximum timespan outside of the stored ephemeris that is allowed
for extrapolation.
|
Frame |
getFrame() |
Get the frame in which the orbit is propagated.
|
SpacecraftState |
getInitialState() |
Get the propagator initial state.
|
String[] |
getManagedAdditionalStates() |
Get all the names of all managed states.
|
protected double |
getMass(AbsoluteDate date) |
Get the mass.
|
AbsoluteDate |
getMaxDate() |
Get the last date of the range.
|
AbsoluteDate |
getMinDate() |
Get the first date of the range.
|
TimeStampedPVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame f) |
Get the
PVCoordinates of the body in the selected frame. |
boolean |
isAdditionalStateManaged(String name) |
Check if an additional state is managed.
|
protected Orbit |
propagateOrbit(AbsoluteDate date) |
Extrapolate an orbit up to a specific target date.
|
void |
resetInitialState(SpacecraftState state) |
Try (and fail) to reset the initial state.
|
protected void |
resetIntermediateState(SpacecraftState state,
boolean forward) |
Reset an intermediate state.
|
acceptStep, addEventDetector, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getPvProvider, propagateaddAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getFixedStepSize, getMode, getStartDate, getStepHandler, propagate, setAttitudeProvider, setEphemerisMode, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode, setStartDate, updateAdditionalStatesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAdditionalStateProvider, addEventDetector, clearEventsDetectors, getAdditionalStateProviders, getAttitudeProvider, getEventsDetectors, getGeneratedEphemeris, getMode, propagate, propagate, setAttitudeProvider, setEphemerisMode, setEphemerisMode, setMasterMode, setMasterMode, setSlaveModepublic static final double DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
public Ephemeris(List<SpacecraftState> states, int interpolationPoints) throws org.hipparchus.exception.MathIllegalArgumentException
This constructor allows extrapolating outside of the states time span
by up to the 1ms default
extrapolation threshold.
states - tabulates statesinterpolationPoints - number of points to use in interpolationorg.hipparchus.exception.MathIllegalArgumentException - if the number of states is smaller than
the number of points to use in interpolationEphemeris(List, int, double)public Ephemeris(List<SpacecraftState> states, int interpolationPoints, double extrapolationThreshold) throws org.hipparchus.exception.MathIllegalArgumentException
states - tabulates statesinterpolationPoints - number of points to use in interpolationextrapolationThreshold - the largest time difference in seconds between
the start or stop boundary of the ephemeris bounds to be doing extrapolationorg.hipparchus.exception.MathIllegalArgumentException - if the number of states is smaller than
the number of points to use in interpolationpublic AbsoluteDate getMinDate()
getMinDate in interface BoundedPropagatorpublic AbsoluteDate getMaxDate()
getMaxDate in interface BoundedPropagatorpublic double getExtrapolationThreshold()
public Frame getFrame()
AbstractPropagatorThe 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.
getFrame in interface PropagatorgetFrame in class AbstractPropagatorPropagator.resetInitialState(SpacecraftState)public SpacecraftState basicPropagate(AbsoluteDate date)
AbstractAnalyticalPropagatorThis method is similar in spirit to the AbstractAnalyticalPropagator.propagate(org.orekit.time.AbsoluteDate, org.orekit.time.AbsoluteDate) method,
except that it does not call any handler during
propagation, nor any discrete events, not additional states. It always
stop exactly at the specified date.
basicPropagate in class AbstractAnalyticalPropagatordate - target date for propagationprotected Orbit propagateOrbit(AbsoluteDate date)
propagateOrbit in class AbstractAnalyticalPropagatordate - target date for the orbitprotected double getMass(AbsoluteDate date)
getMass in class AbstractAnalyticalPropagatordate - target date for the orbitpublic TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame f)
PVCoordinates of the body in the selected frame.getPVCoordinates in interface PVCoordinatesProvidergetPVCoordinates in class AbstractPropagatordate - current datef - the frame where to define the positionpublic void resetInitialState(SpacecraftState state)
This method always throws an exception, as ephemerides cannot be reset.
resetInitialState in interface PropagatorresetInitialState in class AbstractPropagatorstate - new initial state to considerprotected void resetIntermediateState(SpacecraftState state, boolean forward)
resetIntermediateState in class AbstractAnalyticalPropagatorstate - new intermediate state to considerforward - if true, the intermediate state is valid for
propagations after itselfpublic SpacecraftState getInitialState()
getInitialState in interface PropagatorgetInitialState in class AbstractPropagatorpublic boolean isAdditionalStateManaged(String name)
Managed states are states for which the propagators know how to compute
its evolution. They correspond to additional states for which an
additional state provider has been registered
by calling the addAdditionalStateProvider method. If the propagator is an integrator-based
propagator, the states for which a set of additional equations has
been registered by calling the addAdditionalEquations
method are also counted as managed additional states.
Additional states that are present in the initial state
but have no evolution method registered are not considered as managed states.
These unmanaged additional states are not lost during propagation, though. Their
value will simply be copied unchanged throughout propagation.
isAdditionalStateManaged in interface PropagatorisAdditionalStateManaged in class AbstractPropagatorname - name of the additional statepublic String[] getManagedAdditionalStates()
getManagedAdditionalStates in interface PropagatorgetManagedAdditionalStates in class AbstractPropagatorCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.