org.orekit.utils
Class EphemerisPvLagrange

java.lang.Object
  extended by org.orekit.utils.AbstractBoundedPVProvider
      extended by org.orekit.utils.EphemerisPvLagrange
All Implemented Interfaces:
PVCoordinatesProvider

public class EphemerisPvLagrange
extends AbstractBoundedPVProvider

This class extends AbstractBoundedPVProvider which implements PVCoordinatesProvider and so provides a position velocity for a given date. The provided position velocity is based on a Lagrange interpolation in a given position velocity ephemeris. Tabulated entries are chronologically classified.

The interpolation extracts points from the ephemeris depending on the polynome order and the date to interpolate. Points extraction is based on an implementation of the ISearchIndex interface. This implementation should be based on a table of duration created from the date table with the duration = 0 at the first index.

Since:
3.1
Version:
$Id: EphemerisPvLagrange.java 17625 2017-05-19 12:06:56Z bignon $
Author:
chabaudp
Concurrency :
not thread-safe
Concurrency comment :
internal mutable attributes

Field Summary
 
Fields inherited from class org.orekit.utils.AbstractBoundedPVProvider
polyOrder, tDate, tPVCoord
 
Constructor Summary
EphemerisPvLagrange(PVCoordinates[] tabPV, int order, Frame frame, AbsoluteDate[] tabDate, ISearchIndex algo)
          Creates an instance of EphemerisPvLagrange
EphemerisPvLagrange(SpacecraftState[] tabState, int order, ISearchIndex algo)
          Creates an instance of EphemerisPvLagrange from a spacecraftstate list
 
Method Summary
 PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
          Frame can be null : by default the frame of expression is the frame used at instantiation (which is the frame of the first spacecraft state when instantiation is done from a table of spacecraft states).
 
Methods inherited from class org.orekit.utils.AbstractBoundedPVProvider
getDateRef, getFrame, getMaxDate, getMinDate, getPreviousIndex, getSearchIndex, indexValidity, setPreviousIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EphemerisPvLagrange

public EphemerisPvLagrange(PVCoordinates[] tabPV,
                           int order,
                           Frame frame,
                           AbsoluteDate[] tabDate,
                           ISearchIndex algo)
Creates an instance of EphemerisPvLagrange

Parameters:
tabPV - position velocity coordinates table
order - interpolation order
frame - coordinates expression frame
tabDate - table of dates for each position velocity
algo - class to find the nearest date index from a given date in the date table. (If null, algo will be BinarySearchIndexOpenClosed by default based on a table of duration since the first date of the dates table)
Throws:
IllegalArgumentException - if parameters are not consistent, see AbstractBoundedPVProvider.

EphemerisPvLagrange

public EphemerisPvLagrange(SpacecraftState[] tabState,
                           int order,
                           ISearchIndex algo)
Creates an instance of EphemerisPvLagrange from a spacecraftstate list

Parameters:
tabState - Spacecraftstate list
order - lagrange polynome order
algo - class to find the nearest date index from a given date in the date table (If null, algo will be BinarySearchIndexOpenClosed by default based on a table of duration since the first date of the dates table)
Throws:
IllegalArgumentException - if parameters are not consistent, see AbstractBoundedPVProvider.
Method Detail

getPVCoordinates

public PVCoordinates getPVCoordinates(AbsoluteDate date,
                                      Frame frame)
                               throws OrekitException
Frame can be null : by default the frame of expression is the frame used at instantiation (which is the frame of the first spacecraft state when instantiation is done from a table of spacecraft states).

Parameters:
date - date of interpolation
frame - frame of coordinates expression. (can be null)
Returns:
PVcoordinates at interpolation date in the chosen frame
Throws:
OrekitException - if date of interpolation is too near from min and max input dates compare to Lagrange order
See Also:
PVCoordinatesProvider.getPVCoordinates(org.orekit.time.AbsoluteDate, org.orekit.frames.Frame)


Copyright © 2017 CNES. All Rights Reserved.