Class Duration
- java.lang.Object
-
- org.orekit.forces.maneuvers.jacobians.Duration
-
- All Implemented Interfaces:
AdditionalDataProvider<double[]>
public class Duration extends Object implements AdditionalDataProvider<double[]>
Generator for one column of a Jacobian matrix for special case of maneuver duration.Typical use cases for this are estimation of maneuver duration during either orbit determination or maneuver optimization.
- Since:
- 11.1
- Author:
- Luc Maisonobe
- See Also:
MedianDate
,TriggerDate
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[]
getAdditionalData(SpacecraftState state)
Get the additional data.String
getName()
Get the name of the additional data.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.AdditionalDataProvider
init, update
-
-
-
-
Constructor Detail
-
Duration
public Duration(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 data.If a provider just modifies one of the basic elements (orbit, attitude or mass) without adding any new data, it should return the empty string as its name.
- Specified by:
getName
in interfaceAdditionalDataProvider<double[]>
- Returns:
- name of the additional data (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 data 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.hasAdditionalData("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 interfaceAdditionalDataProvider<double[]>
- 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
-
getAdditionalData
public double[] getAdditionalData(SpacecraftState state)
Get the additional data.- Specified by:
getAdditionalData
in interfaceAdditionalDataProvider<double[]>
- Parameters:
state
- spacecraft state to which additional data should correspond- Returns:
- additional state corresponding to spacecraft state
-
-