Class AbstractPropagatorBuilder
- java.lang.Object
-
- org.orekit.propagation.conversion.AbstractPropagatorBuilder
-
- All Implemented Interfaces:
PropagatorBuilder
- Direct Known Subclasses:
EcksteinHechlerPropagatorBuilder,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, PositionAngle positionAngle, double positionScale, boolean addDriverForCentralAttraction)Build a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddSupportedParameter(ParameterDriver driver)Add a supported parameter.protected OrbitcreateInitialOrbit()Build an initial orbit using the current selected parameters.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[]).PositionAnglegetPositionAngle()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.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
buildPropagator
-
-
-
-
Constructor Detail
-
AbstractPropagatorBuilder
protected AbstractPropagatorBuilder(Orbit templateOrbit, PositionAngle positionAngle, 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.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 builtpositionAngle- 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
-
-
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.getPositionAngle()
-
getPositionAngle
public PositionAngle getPositionAngle()
Get the position angle type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[]).- Specified by:
getPositionAnglein 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.- 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
-
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.- Returns:
- the central attraction coefficient (µ - m³/s²) value
- Since:
- 9.2
-
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
-
addSupportedParameter
protected void addSupportedParameter(ParameterDriver driver)
Add a supported parameter.- Parameters:
driver- driver for the parameter
-
resetOrbit
public void resetOrbit(Orbit newOrbit)
Reset the orbit in the propagator builder.- Parameters:
newOrbit- New orbit to set in the propagator builder
-
-