Class AbstractAnalyticalPropagatorBuilder<T extends AbstractAnalyticalPropagator,O extends OrbitalParameters,F extends OrbitalParameterFactory<O>>

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

public abstract class AbstractAnalyticalPropagatorBuilder<T extends AbstractAnalyticalPropagator,O extends OrbitalParameters,F extends OrbitalParameterFactory<O>> extends AbstractPropagatorBuilder<T,O,F>
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(F factory, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider, double initialMass)
      Build a new instance.

      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.getOrbitalParameterFactory().OrbitalParameterFactory.getOrbitalParametersDrivers() and then call setSelected(false).

      Parameters:
      factory - factory for initial orbit
      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