Class AbstractAnalyticalMatricesHarvester

    • Constructor Detail

      • AbstractAnalyticalMatricesHarvester

        protected AbstractAnalyticalMatricesHarvester​(AbstractAnalyticalPropagator propagator,
                                                      String stmName,
                                                      RealMatrix initialStm,
                                                      DoubleArrayDictionary initialJacobianColumns)
        Simple constructor.

        The arguments for initial matrices must be compatible with the orbit type and position angle that will be used by propagator

        Parameters:
        propagator - propagator bound to this harvester
        stmName - State Transition Matrix state name
        initialStm - initial State Transition Matrix ∂Y/∂Y₀, if null (which is the most frequent case), assumed to be 6x6 identity
        initialJacobianColumns - initial columns of the Jacobians matrix with respect to parameters, if null or if some selected parameters are missing from the dictionary, the corresponding initial column is assumed to be 0
    • Method Detail

      • getJacobiansColumnsNames

        public List<String> getJacobiansColumnsNames()
        Get the names of the parameters in the matrix returned by MatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState).

        Beware that the names of the parameters are fully known only once all force models have been set up and their parameters properly selected. Applications that retrieve the matrices harvester first and select the force model parameters to retrieve afterwards (but obviously before starting propagation) must take care to wait until the parameters have been set up before they call this method. Calling the method too early would return wrong results.

        The names are returned in the Jacobians matrix columns order

        Specified by:
        getJacobiansColumnsNames in interface MatricesHarvester
        Returns:
        names of the parameters (i.e. columns) of the Jacobian matrix
      • freezeColumnsNames

        public void freezeColumnsNames()
        Freeze the names of the Jacobian columns.

        This method is called when propagation starts, i.e. when configuration is completed

        Specified by:
        freezeColumnsNames in class AbstractMatricesHarvester
      • getName

        public String getName()
        Get the name of the additional state.
        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)
      • 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
      • setReferenceState

        public void setReferenceState​(SpacecraftState reference)
        Set up reference state.

        This method is called whenever the global propagation reference state changes. This corresponds to the start of propagation in batch least squares orbit determination or at prediction step for each measurement in Kalman filtering. Its goal is to allow the harvester to compute some internal data. Analytical models like TLE use it to compute analytical derivatives, semi-analytical models like DSST use it to compute short periodic terms, numerical models do not use it at all.

        Specified by:
        setReferenceState in interface MatricesHarvester
        Overrides:
        setReferenceState in class AbstractMatricesHarvester
        Parameters:
        reference - reference state to set
      • getOrbitType

        public OrbitType getOrbitType()
        Get the orbit type used for the matrix computation.
        Specified by:
        getOrbitType in interface MatricesHarvester
        Returns:
        the orbit type used for the matrix computation
      • getGradientConverter

        public abstract AbstractAnalyticalGradientConverter getGradientConverter()
        Get the gradient converter related to the analytical orbit propagator.
        Returns:
        the gradient converter