Class AbstractPropagatorConverter

    • Constructor Detail

      • AbstractPropagatorConverter

        protected AbstractPropagatorConverter​(PropagatorBuilder builder,
                                              double threshold,
                                              int maxIterations)
        Build a new instance.
        Parameters:
        builder - propagator builder
        threshold - absolute convergence threshold for optimization algorithm
        maxIterations - maximum number of iterations for fitting
    • Method Detail

      • convert

        public Propagator convert​(List<SpacecraftState> states,
                                  boolean positionOnly,
                                  String... freeParameters)
                           throws IllegalArgumentException
        Find the propagator that minimize the mean square error for a sample of states.
        Specified by:
        convert in interface PropagatorConverter
        Parameters:
        states - spacecraft states sample to fit
        positionOnly - if true, consider only position data otherwise both position and velocity are used
        freeParameters - names of the free parameters
        Returns:
        adapted propagator
        Throws:
        IllegalArgumentException - if one of the parameters cannot be free
      • getAdaptedPropagator

        public Propagator getAdaptedPropagator()
        Get the adapted propagator.
        Returns:
        adapted propagator
      • getRMS

        public double getRMS()
        Get the Root Mean Square Deviation of the fitting.
        Returns:
        RMSD
      • getEvaluations

        public int getEvaluations()
        Get the number of objective function evaluations.
        Returns:
        the number of objective function evaluations.
      • getObjectiveFunction

        protected abstract MultivariateVectorFunction getObjectiveFunction()
        Get the function computing position/velocity at sample points.
        Returns:
        function computing position/velocity at sample points
      • getModel

        protected abstract MultivariateJacobianFunction getModel()
        Get the Jacobian of the function computing position/velocity at sample points.
        Returns:
        Jacobian of the function computing position/velocity at sample points
      • isOnlyPosition

        protected boolean isOnlyPosition()
        Check if fitting uses only sample positions.
        Returns:
        true if fitting uses only sample positions
      • getTargetSize

        protected int getTargetSize()
        Get the size of the target.
        Returns:
        target size
      • getFrame

        protected Frame getFrame()
        Get the frame of the initial state.
        Returns:
        the orbit frame
      • getSample

        protected List<SpacecraftState> getSample()
        Get the states sample.
        Returns:
        the states sample