org.orekit.utils
Class EphemerisPvHermite

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

public class EphemerisPvHermite
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 Hermite interpolation in a given position velocity ephemeris.

The interpolation extracts position, velocity and eventually acceleration from the ephemeris at the date just before and the date just after the interpolating date. 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: EphemerisPvHermite.java 14756 2015-12-01 13:46:22Z 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
EphemerisPvHermite(PVCoordinates[] tabPV, Vector3D[] tabAcc, Frame frame, AbsoluteDate[] tabDate, ISearchIndex algo)
          Creates an instance of EphemerisPvHermite.
EphemerisPvHermite(SpacecraftState[] tabState, Vector3D[] tabAcc, ISearchIndex algo)
          Creates an instance of EphemerisPvHermite from a SpacecraftState table
 
Method Summary
 AbsoluteDate getMaxDate()
          For hermite interpolation, the last date is the date of the step before the last ephemeris point
 AbsoluteDate getMinDate()
          For hermite interpolation, the min date is the first ephemeris date which is also the reference date
 PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
          Get the PVCoordinates of the body in the selected frame.
 
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

EphemerisPvHermite

public EphemerisPvHermite(PVCoordinates[] tabPV,
                          Vector3D[] tabAcc,
                          Frame frame,
                          AbsoluteDate[] tabDate,
                          ISearchIndex algo)
Creates an instance of EphemerisPvHermite.

Parameters:
tabPV - position velocity coordinates table
tabAcc - acceleration table (can be null)
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, by default, a BinarySearchIndexOpenClosed based on a table of duration since the first date of the dates table)

EphemerisPvHermite

public EphemerisPvHermite(SpacecraftState[] tabState,
                          Vector3D[] tabAcc,
                          ISearchIndex algo)
Creates an instance of EphemerisPvHermite from a SpacecraftState table

Parameters:
tabState - SpacecraftState table
tabAcc - Acceleration table (can be null)
algo - class to find the nearest date index from a given date (If null, algo will be BinarySearchIndexOpenClosed by default based on a table of duration since the first date of the dates table)
Throws:
IllegalArgumentException - spacecraftState table should contains elements, and if tabacc not null should be of the same size
Method Detail

getPVCoordinates

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

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

getMinDate

public AbsoluteDate getMinDate()
For hermite interpolation, the min date is the first ephemeris date which is also the reference date

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

getMaxDate

public AbsoluteDate getMaxDate()
For hermite interpolation, the last date is the date of the step before the last ephemeris point

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


Copyright © 2016 CNES. All Rights Reserved.