public abstract class AbstractBoundedPVProvider extends Object implements PVCoordinatesProvider
This abstract class shall be extended to provides a PVCoordinates provider based on manipulation of PVCoordinates
ephemeris. The method of the implemented interface
PVCoordinatesProvider
is not implemented here and have to be
implemented in extending classes to provide a position velocity for a given date.
Modifier and Type | Field and Description |
---|---|
protected int |
polyOrder
Lagrange/Hermite polynomial order
|
protected AbsoluteDate[] |
tDate
Dates table
|
protected PVCoordinates[] |
tPVCoord
Position velocity coordinates table
|
Constructor and Description |
---|
AbstractBoundedPVProvider(PVCoordinates[] tabPV,
int order,
Frame frame,
AbsoluteDate[] tabDate,
ISearchIndex algo)
Instantiation of AbstractBoundedPVProvider attributes.
|
AbstractBoundedPVProvider(SpacecraftState[] tabState,
int order,
ISearchIndex algo)
Creates an instance of AbstractBoundedPVProvider from a SpacecraftState table
|
Modifier and Type | Method and Description |
---|---|
protected PVCoordinates |
checkBounds(AbsoluteDate date)
Returns PV Coordinates on bounds if duration is on bounds.
|
AbsoluteDate |
getDateRef()
Get the reference date
|
Frame |
getFrame()
Get the reference frame
|
AbsoluteDate |
getMaxDate()
Return the higher date authorized to call getPVCoordinates.
|
AbsoluteDate |
getMinDate()
Return the lower date authorized to call getPVCoordinates.
|
int |
getPreviousIndex()
Get the previous search index
|
ISearchIndex |
getSearchIndex()
Get the optimize indice search algorithm
|
int |
indexValidity(int index)
Checks if interpolation is valid : meaning if 0<= index +1 -interpOrder/2 or index + interpOrder/2 <=
maximalIndex
|
protected void |
setPreviousIndex(int index)
Set the previous search index
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPVCoordinates
protected final PVCoordinates[] tPVCoord
protected final int polyOrder
protected final AbsoluteDate[] tDate
public AbstractBoundedPVProvider(PVCoordinates[] tabPV, int order, Frame frame, AbsoluteDate[] tabDate, ISearchIndex algo)
tabPV
- position velocity coordinates table
(table is not copied and so internal class state can be modified from outside)order
- Lagrange/Hermite interpolation order. It must be even.frame
- coordinates expression frametabDate
- table of dates for each position velocity
(table is not copied and so internal class state can be modified from outside)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)IllegalArgumentException
- if :
- tabPV and tabDate have not the same size
- parameters are not consistent : order is higher than the length of PV coordinates table
- order is not evenpublic AbstractBoundedPVProvider(SpacecraftState[] tabState, int order, ISearchIndex algo)
tabState
- SpacecraftState tableorder
- Lagrange/Hermite interpolation order. It must be even.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)IllegalArgumentException
- if :
- spacecraftState table should contains elements, and if tabacc not
null should be of the same size.
- tabPV and tabDate have not the same size
- parameters are not consistent : order is higher than the length of PV coordinates table
- order is not even
Exception thrown also if order is not even.public AbsoluteDate getDateRef()
public Frame getFrame()
public ISearchIndex getSearchIndex()
public int getPreviousIndex()
protected void setPreviousIndex(int index)
index
- previous search indexpublic int indexValidity(int index) throws PatriusException
index
- : the closest index from a given date.PatriusException
- if the index does not allow enough point to do the interpolation.public AbsoluteDate getMinDate()
public AbsoluteDate getMaxDate()
protected PVCoordinates checkBounds(AbsoluteDate date)
date
- durationCopyright © 2020 CNES. All rights reserved.