Class AbstractPropagatorBuilder
- java.lang.Object
-
- org.orekit.propagation.conversion.AbstractPropagatorBuilder
-
- All Implemented Interfaces:
PropagatorBuilder
- Direct Known Subclasses:
BrouwerLyddanePropagatorBuilder,DSSTPropagatorBuilder,EcksteinHechlerPropagatorBuilder,EphemerisPropagatorBuilder,KeplerianPropagatorBuilder,NumericalPropagatorBuilder,TLEPropagatorBuilder
public abstract class AbstractPropagatorBuilder extends Object implements PropagatorBuilder
Base class for propagator builders.- Since:
- 7.1
- Author:
- Pascal Parraud
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction)Build a new instance.protectedAbstractPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider)Build a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAdditionalDerivativesProvider(AdditionalDerivativesProvider provider)Add a set of user-specified equations to be integrated along with the orbit propagation (author Shiva Iyer).protected voidaddSupportedParameters(List<ParameterDriver> drivers)Add supported parameters.protected OrbitcreateInitialOrbit()Build an initial orbit using the current selected parameters.voiddeselectDynamicParameters()Deselects orbital and propagation drivers.protected List<AdditionalDerivativesProvider>getAdditionalDerivativesProviders()Get the list of additional equations.AttitudeProvidergetAttitudeProvider()Get the attitude provider.FramegetFrame()Get the frame in which the orbit is propagated.AbsoluteDategetInitialOrbitDate()Get the date of the initial orbit.doublegetMu()Get the central attraction coefficient (µ - m³/s²) value.ParameterDriversListgetOrbitalParametersDrivers()Get the drivers for the configurable orbital parameters.OrbitTypegetOrbitType()Get the orbit type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[]).PositionAngleTypegetPositionAngleType()Get the position angle type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[]).doublegetPositionScale()Get the position scale.ParameterDriversListgetPropagationParametersDrivers()Get the drivers for the configurable propagation parameters.double[]getSelectedNormalizedParameters()Get the current value of selected normalized parameters.voidresetOrbit(Orbit newOrbit)Reset the orbit in the propagator builder.voidsetAttitudeProvider(AttitudeProvider attitudeProvider)Set the attitude provider.protected voidsetParameters(double[] normalizedParameters)Set the selected parameters.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.conversion.PropagatorBuilder
buildLeastSquaresModel, buildPropagator, copy
-
-
-
-
Constructor Detail
-
AbstractPropagatorBuilder
protected AbstractPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction)
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 thepositionScaleto convert from thenormalizedparameters 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 driversare 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 callinggetOrbitalParametersDrivers()and then callsetSelected(false).- Parameters:
templateOrbit- reference orbit from which real orbits will be builtpositionAngleType- position angle type to usepositionScale- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)addDriverForCentralAttraction- if true, aParameterDrivershould be set up for central attraction coefficient- Since:
- 8.0
- See Also:
AbstractPropagatorBuilder(Orbit, PositionAngleType, double, boolean, AttitudeProvider)
-
AbstractPropagatorBuilder
protected AbstractPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider)
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 thepositionScaleto convert from thenormalizedparameters used by the callers of this builder to the real orbital parameters.By default, all the
orbital parameters driversare 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 callinggetOrbitalParametersDrivers()and then callsetSelected(false).- Parameters:
templateOrbit- reference orbit from which real orbits will be builtpositionAngleType- position angle type to usepositionScale- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)addDriverForCentralAttraction- if true, aParameterDrivershould be set up for central attraction coefficientattitudeProvider- for the propagator.- Since:
- 10.1
- See Also:
AbstractPropagatorBuilder(Orbit, PositionAngleType, double, boolean)
-
-
Method Detail
-
getOrbitType
public OrbitType getOrbitType()
Get the orbit type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[]).- Specified by:
getOrbitTypein interfacePropagatorBuilder- Returns:
- orbit type to use in
PropagatorBuilder.buildPropagator(double[]) - See Also:
PropagatorBuilder.buildPropagator(double[]),PropagatorBuilder.getPositionAngleType()
-
getPositionAngleType
public PositionAngleType getPositionAngleType()
Get the position angle type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[]).- Specified by:
getPositionAngleTypein interfacePropagatorBuilder- Returns:
- position angle type to use in
PropagatorBuilder.buildPropagator(double[]) - See Also:
PropagatorBuilder.buildPropagator(double[]),PropagatorBuilder.getOrbitType()
-
getInitialOrbitDate
public AbsoluteDate getInitialOrbitDate()
Get the date of the initial orbit.- Specified by:
getInitialOrbitDatein interfacePropagatorBuilder- Returns:
- date of the initial orbit
-
getFrame
public Frame getFrame()
Get the frame in which the orbit is propagated.- Specified by:
getFramein interfacePropagatorBuilder- Returns:
- frame in which the orbit is propagated
-
getOrbitalParametersDrivers
public ParameterDriversList getOrbitalParametersDrivers()
Get the drivers for the configurable orbital parameters. Orbital drivers should have only 1 value estimated (1 span)- Specified by:
getOrbitalParametersDriversin interfacePropagatorBuilder- Returns:
- drivers for the configurable orbital parameters
-
getPropagationParametersDrivers
public ParameterDriversList getPropagationParametersDrivers()
Get the drivers for the configurable propagation parameters.The parameters typically correspond to force models.
- Specified by:
getPropagationParametersDriversin interfacePropagatorBuilder- Returns:
- drivers for the configurable propagation parameters
-
getAttitudeProvider
public AttitudeProvider getAttitudeProvider()
Get the attitude provider.- Returns:
- the attitude provider
- Since:
- 10.1
-
setAttitudeProvider
public void setAttitudeProvider(AttitudeProvider attitudeProvider)
Set the attitude provider.- Parameters:
attitudeProvider- attitude provider- Since:
- 10.1
-
getPositionScale
public double getPositionScale()
Get the position scale.- Returns:
- the position scale used to scale the orbital drivers
-
getMu
public double getMu()
Get the central attraction coefficient (µ - m³/s²) value.- Specified by:
getMuin interfacePropagatorBuilder- Returns:
- the central attraction coefficient (µ - m³/s²) value
-
getSelectedNormalizedParameters
public double[] getSelectedNormalizedParameters()
Get the current value of selected normalized parameters.- Specified by:
getSelectedNormalizedParametersin interfacePropagatorBuilder- Returns:
- current value of selected normalized parameters
-
createInitialOrbit
protected Orbit createInitialOrbit()
Build an initial orbit using the current selected parameters.This method is a stripped down version of
PropagatorBuilder.buildPropagator(double[])that only builds the initial orbit and not the full propagator.- Returns:
- an initial orbit
- Since:
- 8.0
-
setParameters
protected void setParameters(double[] normalizedParameters)
Set the selected parameters.- Parameters:
normalizedParameters- normalized values for the selected parameters
-
addSupportedParameters
protected void addSupportedParameters(List<ParameterDriver> drivers)
Add supported parameters.- Parameters:
drivers- drivers for the parameters
-
resetOrbit
public void resetOrbit(Orbit newOrbit)
Reset the orbit in the propagator builder.- Specified by:
resetOrbitin interfacePropagatorBuilder- 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.
-
-