Class DSSTPropagatorBuilder

All Implemented Interfaces:
Cloneable, PropagatorBuilder

public class DSSTPropagatorBuilder extends AbstractIntegratedPropagatorBuilder<DSSTPropagator>
Builder for DSST propagator.
Since:
10.0
Author:
Bryan Cazabonne
  • Constructor Details

    • 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

      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 Details

    • clone

      public DSSTPropagatorBuilder clone()
      ..
      Overrides:
      clone in class AbstractPropagatorBuilder<DSSTPropagator>
    • 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
    • getAllForceModels

      public List<DSSTForceModel> getAllForceModels()
      Get the list of all force models.
      Returns:
      the list of all force models
    • 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.
      Specified by:
      buildPropagator in interface PropagatorBuilder
      Specified by:
      buildPropagator in class AbstractIntegratedPropagatorBuilder<DSSTPropagator>
      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