Class 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
    • Constructor Detail

      • Duration

        public Duration​(String startName,
                        String stopName,
                        String columnName)
        Simple constructor.
        Parameters:
        startName - name of the parameter corresponding to the start date
        stopName - name of the parameter corresponding to the stop date
        columnName - 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 interface AdditionalDataProvider<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 provided state (but it could theoretically also depend on an additional state derivative being already 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 be generated immediately.

        The column state can be computed only if the start and stop dates columns are available.

        Specified by:
        yields in interface AdditionalDataProvider<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 interface AdditionalDataProvider<double[]>
        Parameters:
        state - spacecraft state to which additional data should correspond
        Returns:
        additional state corresponding to spacecraft state