Class DSSTPropagatorBuilder

    • Constructor Detail

      • DSSTPropagatorBuilder

        public DSSTPropagatorBuilder​(Orbit referenceOrbit,
                                     ODEIntegratorBuilder builder,
                                     double positionScale,
                                     PropagationType propagationType,
                                     PropagationType stateType)
        Build a new instance.

        The reference orbit is used as a model to create initial orbit. It defines the inertial frame, the central attraction coefficient, and is also used together with the positionScale to convert from the normalized parameters used by the callers of this builder to the real orbital parameters. The default attitude provider is aligned with the orbit's inertial frame.

        Parameters:
        referenceOrbit - reference orbit from which real orbits will be built
        builder - first order integrator builder
        positionScale - scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)
        propagationType - type of the orbit used for the propagation (mean or osculating)
        stateType - type of the elements used to define the orbital state (mean or osculating)
        See Also:
        DSSTPropagatorBuilder(Orbit, ODEIntegratorBuilder, double, PropagationType, PropagationType, AttitudeProvider)
      • DSSTPropagatorBuilder

        public DSSTPropagatorBuilder​(Orbit referenceOrbit,
                                     ODEIntegratorBuilder builder,
                                     double positionScale,
                                     PropagationType propagationType,
                                     PropagationType stateType,
                                     AttitudeProvider attitudeProvider)
        Build a new instance.

        The reference orbit is used as a model to create initial orbit. It defines the inertial frame, the central attraction coefficient, and is also used together with the positionScale to convert from the normalized parameters used by the callers of this builder to the real orbital parameters.

        Parameters:
        referenceOrbit - reference orbit from which real orbits will be built
        builder - first order integrator builder
        positionScale - scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)
        propagationType - type of the orbit used for the propagation (mean or osculating)
        stateType - type of the elements used to define the orbital state (mean or osculating)
        attitudeProvider - attitude law.
        Since:
        10.1
    • Method Detail

      • getPropagationType

        public PropagationType getPropagationType()
        Get the type of the orbit used for the propagation (mean or osculating).
        Returns:
        the type of the orbit used for the propagation
      • getStateType

        public PropagationType getStateType()
        Get the type of the elements used to define the orbital state (mean or osculating).
        Returns:
        the type of the elements used to define the orbital state
      • copy

        public DSSTPropagatorBuilder copy()
        Create a copy of a DSSTPropagatorBuilder object.
        Returns:
        Copied version of the DSSTPropagatorBuilder
      • getIntegratorBuilder

        public ODEIntegratorBuilder getIntegratorBuilder()
        Get the integrator builder.
        Returns:
        the integrator builder
      • getAllForceModels

        public List<DSSTForceModel> getAllForceModels()
        Get the list of all force models.
        Returns:
        the list of all force models
      • getMass

        public double getMass()
        Get the mass.
        Returns:
        the mass
      • setMass

        public void setMass​(double mass)
        Set the initial mass.
        Parameters:
        mass - the mass (kg)
      • addForceModel

        public void addForceModel​(DSSTForceModel model)
        Add a force model to the global perturbation model.

        If this method is not called at all, the integrated orbit will follow a Keplerian evolution only.

        Parameters:
        model - perturbing DSSTForceModel to add
      • resetOrbit

        public void resetOrbit​(Orbit newOrbit,
                               PropagationType orbitType)
        Reset the orbit in the propagator builder.
        Parameters:
        newOrbit - newOrbit New orbit to set in the propagator builder
        orbitType - orbit type (MEAN or OSCULATING)
      • buildPropagator

        public DSSTPropagator buildPropagator​(double[] normalizedParameters)
        Build a propagator.
        Parameters:
        normalizedParameters - normalized values for the selected parameters
        Returns:
        an initialized propagator
      • buildLeastSquaresModel

        public DSSTBatchLSModel buildLeastSquaresModel​(PropagatorBuilder[] builders,
                                                       List<ObservedMeasurement<?>> measurements,
                                                       ParameterDriversList estimatedMeasurementsParameters,
                                                       ModelObserver observer)
        Build a new batch least squares model.
        Parameters:
        builders - builders to use for propagation
        measurements - measurements
        estimatedMeasurementsParameters - estimated measurements parameters
        observer - observer to be notified at model calls
        Returns:
        a new model for the Batch Least Squares orbit determination