Class AbstractAnalyticalPropagatorBuilder<T extends AbstractAnalyticalPropagator>

    • Constructor Detail

      • AbstractAnalyticalPropagatorBuilder

        protected AbstractAnalyticalPropagatorBuilder​(Orbit templateOrbit,
                                                      PositionAngleType positionAngleType,
                                                      double positionScale,
                                                      boolean addDriverForCentralAttraction,
                                                      AttitudeProvider attitudeProvider,
                                                      double initialMass)
        Build a new instance.

        The template orbit is used as a model to create initial orbit. It defines the inertial frame, the central attraction coefficient, the orbit type, 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.

        By default, all the orbital parameters drivers are selected, which means that if the builder is used for orbit determination or propagator conversion, all orbital parameters will be estimated. If only a subset of the orbital parameters must be estimated, caller must retrieve the orbital parameters by calling AbstractPropagatorBuilder.getOrbitalParametersDrivers() and then call setSelected(false).

        Parameters:
        templateOrbit - reference orbit from which real orbits will be built
        positionAngleType - position angle type to use
        positionScale - scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)
        addDriverForCentralAttraction - if true, a ParameterDriver should be set up for central attraction coefficient
        attitudeProvider - for the propagator
        initialMass - mass
    • Method Detail

      • getImpulseManeuvers

        protected List<ImpulseManeuver> getImpulseManeuvers()
        Protected getter for the impulse maneuvers.
        Returns:
        impulse maneuvers
      • addImpulseManeuver

        public void addImpulseManeuver​(ImpulseManeuver impulseManeuver)
        Add impulse maneuver.
        Parameters:
        impulseManeuver - impulse maneuver
      • clearImpulseManeuvers

        public void clearImpulseManeuvers()
        Remove all impulse maneuvers.
      • buildLeastSquaresModel

        public AbstractBatchLSModel 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