public class Ephemeris extends AbstractAnalyticalPropagator implements BoundedPropagator
DEFAULT_LAW, DEFAULT_MASS, EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
Constructor and Description |
---|
Ephemeris(List<SpacecraftState> states,
int interpolationPoints)
Constructor with tabulated states.
|
Modifier and Type | Method and Description |
---|---|
SpacecraftState |
basicPropagate(AbsoluteDate date)
Propagate an orbit without any fancy features.
|
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.
|
acceptStep, addEventDetector, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getPvProvider, propagate
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getFixedStepSize, getMode, getStartDate, getStepHandler, propagate, setAttitudeProvider, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode, setStartDate, updateAdditionalStates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addAdditionalStateProvider, addEventDetector, clearEventsDetectors, getAdditionalStateProviders, getAttitudeProvider, getEventsDetectors, getGeneratedEphemeris, getMode, propagate, propagate, setAttitudeProvider, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode
public Ephemeris(List<SpacecraftState> states, int interpolationPoints) throws OrekitException, MathIllegalArgumentException
states
- tabulates statesinterpolationPoints
- number of points to use in interpolationOrekitException
- if some states have incompatible additional statesMathIllegalArgumentException
- if the number of states is smaller than
the number of points to use in interpolationpublic AbsoluteDate getMinDate()
getMinDate
in interface BoundedPropagator
public AbsoluteDate getMaxDate()
getMaxDate
in interface BoundedPropagator
public Frame getFrame()
AbstractPropagator
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.
getFrame
in interface Propagator
getFrame
in class AbstractPropagator
Propagator.resetInitialState(SpacecraftState)
public SpacecraftState basicPropagate(AbsoluteDate date) throws PropagationException
AbstractAnalyticalPropagator
This 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 AbstractAnalyticalPropagator
date
- target date for propagationPropagationException
- if propagation cannot reach specified dateprotected Orbit propagateOrbit(AbsoluteDate date) throws PropagationException
propagateOrbit
in class AbstractAnalyticalPropagator
date
- target date for the orbitPropagationException
- if some parameters are out of boundsprotected double getMass(AbsoluteDate date) throws PropagationException
getMass
in class AbstractAnalyticalPropagator
date
- target date for the orbitPropagationException
- if some parameters are out of boundspublic TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame f) throws OrekitException
PVCoordinates
of the body in the selected frame.getPVCoordinates
in interface PVCoordinatesProvider
getPVCoordinates
in class AbstractPropagator
date
- current datef
- the frame where to define the positionOrekitException
- if position cannot be computed in given framepublic void resetInitialState(SpacecraftState state) throws PropagationException
This method always throws an exception, as ephemerides cannot be reset.
resetInitialState
in interface Propagator
resetInitialState
in class AbstractPropagator
state
- new initial state to considerPropagationException
- always thrown as ephemerides cannot be resetpublic SpacecraftState getInitialState() throws PropagationException
getInitialState
in interface Propagator
getInitialState
in class AbstractPropagator
PropagationException
- if state cannot be retrievedpublic 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 Propagator
isAdditionalStateManaged
in class AbstractPropagator
name
- name of the additional statepublic String[] getManagedAdditionalStates()
getManagedAdditionalStates
in interface Propagator
getManagedAdditionalStates
in class AbstractPropagator
Copyright © 2002-2015 CS Systèmes d'information. All rights reserved.