Class MedianDate
- java.lang.Object
-
- org.orekit.forces.maneuvers.jacobians.MedianDate
-
- All Implemented Interfaces:
AdditionalStateProvider
public class MedianDate extends Object implements AdditionalStateProvider
Generator for one column of a Jacobian matrix for special case of maneuver median date.Typical use cases for this are estimation of maneuver median date during either orbit determination or maneuver optimization.
- Since:
- 11.1
- Author:
- Luc Maisonobe
- See Also:
Duration
,TriggerDate
-
-
Constructor Summary
Constructors Constructor Description MedianDate(String startName, String stopName, String columnName)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]
getAdditionalState(SpacecraftState state)
Get the additional state.String
getName()
Get the name of the additional state.boolean
yields(SpacecraftState state)
Check if this provider should yield so another provider has an opportunity to add missing parts.-
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.AdditionalStateProvider
init, update
-
-
-
-
Constructor Detail
-
MedianDate
public MedianDate(String startName, String stopName, String columnName)
Simple constructor.- Parameters:
startName
- name of the parameter corresponding to the start datestopName
- name of the parameter corresponding to the stop datecolumnName
- name of the parameter corresponding to the column
-
-
Method Detail
-
getName
public String getName()
Get the name of the additional state.If a provider just modifies one of the basic elements (orbit, attitude or mass) without adding any new state, it should return the empty string as its name.
- Specified by:
getName
in interfaceAdditionalStateProvider
- Returns:
- name of the additional state (names containing "orekit" with any case are reserved for the library internal use)
-
yields
public boolean yields(SpacecraftState state)
Check if this provider should yield so another provider has an opportunity to add missing parts.Decision to yield is often based on an additional state being
already available
in the providedstate
(but it could theoretically also depend on an additional state derivative beingalready available
, or any other criterion). If for example a provider needs the state transition matrix, it could implement this method as:public boolean yields(final SpacecraftState state) { return !state.getAdditionalStates().containsKey("STM"); }
The default implementation returns
false
, meaning that state data can begenerated
immediately.The column state can be computed only if the start and stop dates columns are available.
- Specified by:
yields
in interfaceAdditionalStateProvider
- Parameters:
state
- state to handle- Returns:
- true if this provider should yield so another provider has an opportunity to add missing parts as the state is incrementally built up
-
getAdditionalState
public double[] getAdditionalState(SpacecraftState state)
Get the additional state.- Specified by:
getAdditionalState
in interfaceAdditionalStateProvider
- Parameters:
state
- spacecraft state to which additional state should correspond- Returns:
- additional state corresponding to spacecraft state
-
-