Class AbstractAnalyticalPropagatorBuilder<T extends AbstractAnalyticalPropagator>

java.lang.Object
org.orekit.propagation.conversion.AbstractPropagatorBuilder<T>
org.orekit.propagation.conversion.AbstractAnalyticalPropagatorBuilder<T>
Type Parameters:
T - type of the propagator
All Implemented Interfaces:
Cloneable, PropagatorBuilder
Direct Known Subclasses:
BrouwerLyddanePropagatorBuilder, EcksteinHechlerPropagatorBuilder, GNSSPropagatorBuilder, KeplerianPropagatorBuilder, TLEPropagatorBuilder

public abstract class AbstractAnalyticalPropagatorBuilder<T extends AbstractAnalyticalPropagator> extends AbstractPropagatorBuilder<T>
Abstract class for propagator builders of analytical models (except for ephemeris i.e. interpolated ones).
Since:
12.2
Author:
Romain Serra
  • Constructor Details

    • 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 Details

    • 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