Class AbstractPropagatorBuilder<T extends AbstractPropagator,O extends OrbitalParameters,F extends OrbitalParameterFactory<O>>

java.lang.Object
org.orekit.propagation.conversion.AbstractPropagatorBuilder<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:
AbstractAnalyticalPropagatorBuilder, AbstractIntegratedPropagatorBuilder, EphemerisPropagatorBuilder

public abstract class AbstractPropagatorBuilder<T extends AbstractPropagator,O extends OrbitalParameters,F extends OrbitalParameterFactory<O>> extends Object implements PropagatorBuilder
Base class for propagator builders.
Since:
7.1
Author:
Pascal Parraud
  • Constructor Details

    • AbstractPropagatorBuilder

      protected AbstractPropagatorBuilder(F factory, boolean addDriverForCentralAttraction)
      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 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
      Since:
      14.0
    • AbstractPropagatorBuilder

      protected AbstractPropagatorBuilder(F factory, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider)
      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 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.
      Since:
      14.0
    • AbstractPropagatorBuilder

      protected AbstractPropagatorBuilder(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 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
      Since:
      14.0
  • Method Details

    • getMass

      public double getMass()
      Get the mass.
      Specified by:
      getMass in interface PropagatorBuilder
      Returns:
      the mass (kg)
      Since:
      9.2
    • setMass

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

      public F getOrbitalParameterFactory()
      Get the orbital parameters factory.
      Specified by:
      getOrbitalParameterFactory in interface PropagatorBuilder
      Returns:
      orbital parameters factory
    • getPropagationParametersDrivers

      public ParameterDriversList getPropagationParametersDrivers()
      Get the drivers for the configurable propagation parameters.

      The parameters typically correspond to force models.

      Specified by:
      getPropagationParametersDrivers in interface PropagatorBuilder
      Returns:
      drivers for the configurable propagation parameters
    • clone

      public AbstractPropagatorBuilder<T,O,F> clone()
      .
      Overrides:
      clone in class Object
    • getAttitudeProvider

      public AttitudeProvider getAttitudeProvider()
      Get the attitude provider.
      Specified by:
      getAttitudeProvider in interface PropagatorBuilder
      Returns:
      the attitude provider
      Since:
      10.1
    • setAttitudeProvider

      public void setAttitudeProvider(AttitudeProvider attitudeProvider)
      Set the attitude provider.
      Parameters:
      attitudeProvider - attitude provider
      Since:
      10.1
    • getSelectedNormalizedParameters

      public double[] getSelectedNormalizedParameters()
      Get the current value of selected normalized parameters.
      Specified by:
      getSelectedNormalizedParameters in interface PropagatorBuilder
      Returns:
      current value of selected normalized parameters
    • buildPropagator

      public abstract T buildPropagator(double[] normalizedParameters)
      Build a propagator.
      Specified by:
      buildPropagator in interface PropagatorBuilder
      Parameters:
      normalizedParameters - normalized values for the selected parameters
      Returns:
      an initialized propagator
    • buildPropagator

      public T buildPropagator()
      Build a propagator from current value of selected normalized parameters.
      Specified by:
      buildPropagator in interface PropagatorBuilder
      Returns:
      an initialized propagator
    • setParameters

      protected void setParameters(double[] normalizedParameters)
      Set the selected parameters.
      Parameters:
      normalizedParameters - normalized values for the selected parameters
    • addPropagationParameters

      protected void addPropagationParameters(List<ParameterDriver> drivers)
      Add propagation parameters.
      Parameters:
      drivers - drivers for the propagation parameters
    • resetOrbit

      public void resetOrbit(Orbit newOrbit)
      Reset the orbit in the propagator builder.
      Specified by:
      resetOrbit in interface PropagatorBuilder
      Parameters:
      newOrbit - New orbit to set in the propagator builder
    • addAdditionalDerivativesProvider

      public void addAdditionalDerivativesProvider(AdditionalDerivativesProvider provider)
      Add a set of user-specified equations to be integrated along with the orbit propagation (author Shiva Iyer).
      Parameters:
      provider - provider for additional derivatives
      Since:
      11.1
    • getAdditionalDerivativesProviders

      protected List<AdditionalDerivativesProvider> getAdditionalDerivativesProviders()
      Get the list of additional equations.
      Returns:
      the list of additional equations
      Since:
      11.1
    • deselectDynamicParameters

      public void deselectDynamicParameters()
      Deselects orbital and propagation drivers.