org.orekit.propagation.precomputed
Class Ephemeris

java.lang.Object
  extended by org.orekit.propagation.AbstractPropagator
      extended by org.orekit.propagation.precomputed.Ephemeris
All Implemented Interfaces:
Serializable, BoundedPropagator, Propagator, PVCoordinatesProvider

public class Ephemeris
extends AbstractPropagator
implements BoundedPropagator

This class is designed to accept and handle tabulated orbital entries. Tabulated entries are classified and then extrapolated in way to obtain continuous output, with accuracy and computation methods configured by the user.

Author:
Fabien Maussion, Véronique Pommier-Maurussane, Luc Maisonobe
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.orekit.propagation.AbstractPropagator
MASS
 
Fields inherited from interface org.orekit.propagation.Propagator
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
 
Constructor Summary
Ephemeris(List<SpacecraftState> states, int interpolationPoints)
          Constructor with tabulated states.
 
Method Summary
 SpacecraftState basicPropagate(AbsoluteDate date)
          Propagate an orbit without any fancy features.
 SpacecraftState getInitialState()
          Get the propagator initial state.
 AbsoluteDate getMaxDate()
          Get the last date of the range.
 AbsoluteDate getMinDate()
          Get the first date of the range.
 PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
          Get the PVCoordinates of the body in the selected frame.
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.
 
Methods inherited from class org.orekit.propagation.AbstractPropagator
acceptStep, addAdditionalStateProvider, addAdditionalStateProvider, addEventDetector, clearEventsDetectors, getAttitudeProvider, getAttitudeProviderEvents, getAttitudeProviderForces, getEventsDetectors, getFrame, getGeneratedEphemeris, getMode, getPvProvider, manageStateFrame, propagate, propagate, setAttitudeProvider, setAttitudeProviderEvents, setAttitudeProviderForces, setEphemerisMode, setMasterMode, setMasterMode, setOrbitFrame, setSlaveMode, setStartDate
 
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
addEventDetector, clearEventsDetectors, getAttitudeProvider, getAttitudeProviderEvents, getAttitudeProviderForces, getEventsDetectors, getFrame, getGeneratedEphemeris, getMode, propagate, propagate, setAttitudeProvider, setAttitudeProviderEvents, setAttitudeProviderForces, setEphemerisMode, setMasterMode, setMasterMode, setOrbitFrame, setSlaveMode
 

Constructor Detail

Ephemeris

public Ephemeris(List<SpacecraftState> states,
                 int interpolationPoints)
          throws MathIllegalArgumentException
Constructor with tabulated states.

Parameters:
states - tabulates states
interpolationPoints - number of points to use in interpolation
Throws:
MathIllegalArgumentException - if the number of states is smaller than the number of points to use in interpolation
Method Detail

getMinDate

public AbsoluteDate getMinDate()
Get the first date of the range.

Specified by:
getMinDate in interface BoundedPropagator
Returns:
the first date of the range

getMaxDate

public AbsoluteDate getMaxDate()
Get the last date of the range.

Specified by:
getMaxDate in interface BoundedPropagator
Returns:
the last date of the range

basicPropagate

public SpacecraftState basicPropagate(AbsoluteDate date)
                               throws PropagationException
Description copied from class: AbstractPropagator
Propagate an orbit without any fancy features.

This method is similar in spirit to the AbstractPropagator.propagate(org.orekit.time.AbsoluteDate) method, except that it does not call any handler during propagation, nor any discrete events. It always stop exactly at the specified date.

Overrides:
basicPropagate in class AbstractPropagator
Parameters:
date - target date for propagation
Returns:
state at specified date
Throws:
PropagationException - if propagation cannot reach specified date

propagateOrbit

protected Orbit propagateOrbit(AbsoluteDate date)
                        throws PropagationException
Extrapolate an orbit up to a specific target date.

Specified by:
propagateOrbit in class AbstractPropagator
Parameters:
date - target date for the orbit
Returns:
extrapolated parameters
Throws:
PropagationException - if some parameters are out of bounds

getPVCoordinates

public PVCoordinates getPVCoordinates(AbsoluteDate date,
                                      Frame frame)
                               throws OrekitException
Get the PVCoordinates of the body in the selected frame.

Specified by:
getPVCoordinates in interface PVCoordinatesProvider
Overrides:
getPVCoordinates in class AbstractPropagator
Parameters:
date - current date
frame - the frame where to define the position
Returns:
position/velocity of the body (m and m/s)
Throws:
OrekitException - if position cannot be computed in given frame

resetInitialState

public void resetInitialState(SpacecraftState state)
                       throws PropagationException
Try (and fail) to reset the initial state.

This method always throws an exception, as ephemerides cannot be reset.

Specified by:
resetInitialState in interface Propagator
Overrides:
resetInitialState in class AbstractPropagator
Parameters:
state - new initial state to consider
Throws:
PropagationException - always thrown as ephemerides cannot be reset

getInitialState

public SpacecraftState getInitialState()
                                throws PropagationException
Get the propagator initial state.

Specified by:
getInitialState in interface Propagator
Overrides:
getInitialState in class AbstractPropagator
Returns:
initial state
Throws:
PropagationException


Copyright © 2016 CNES. All Rights Reserved.