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

      • MedianDate

        public MedianDate​(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 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 interface AdditionalStateProvider
        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 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.getAdditionalStates().containsKey("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 AdditionalStateProvider
        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 interface AdditionalStateProvider
        Parameters:
        state - spacecraft state to which additional state should correspond
        Returns:
        additional state corresponding to spacecraft state