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 polynom 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 14807 2015-12-02 15:29:49Z bignon $
Author:
chabaudp
Concurrency :
not thread-safe
Concurrency comment :
internal mutable attributes

Field Summary
 
Fields inherited from class org.orekit.utils.AbstractBoundedPVProvider
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
 AbsoluteDate getMaxDate()
          Return the higher date authorized to call getPVCoordinates.
 AbsoluteDate getMinDate()
          Return the lower date authorized to call getPVCoordinates.
 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, getPreviousIndex, getSearchIndex, 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 - lagrange polynome 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

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
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)

getMinDate

public AbsoluteDate getMinDate()
Return the lower date authorized to call getPVCoordinates.

Specified by:
getMinDate in class AbstractBoundedPVProvider
Returns:
minimum ephemeris date

getMaxDate

public AbsoluteDate getMaxDate()
Return the higher date authorized to call getPVCoordinates.

Specified by:
getMaxDate in class AbstractBoundedPVProvider
Returns:
maximum ephemeris date


Copyright © 2016 CNES. All Rights Reserved.