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 protected
AbstractPropagatorBuilder(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 void
addSupportedParameter(ParameterDriver driver)
Add a supported parameter.protected Orbit
createInitialOrbit()
Build an initial orbit using the current selected parameters.Frame
getFrame()
Get the frame in which the orbit is propagated.AbsoluteDate
getInitialOrbitDate()
Get the date of the initial orbit.double
getMu()
Get the central attraction coefficient (µ - m³/s²) value.ParameterDriversList
getOrbitalParametersDrivers()
Get the drivers for the configurable orbital parameters.OrbitType
getOrbitType()
Get the orbit type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[])
.PositionAngle
getPositionAngle()
Get the position angle type expected for the 6 first parameters inPropagatorBuilder.buildPropagator(double[])
.double
getPositionScale()
Get the position scale.ParameterDriversList
getPropagationParametersDrivers()
Get the drivers for the configurable propagation parameters.double[]
getSelectedNormalizedParameters()
Get the current value of selected normalized parameters.void
resetOrbit(Orbit newOrbit)
Reset the orbit in the propagator builder.protected void
setParameters(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 thepositionScale
to convert from thenormalized
parameters used by the callers of this builder to the real orbital parameters.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 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, aParameterDriver
should 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:
getOrbitType
in 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:
getPositionAngle
in 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:
getInitialOrbitDate
in interfacePropagatorBuilder
- Returns:
- date of the initial orbit
-
getFrame
public Frame getFrame()
Get the frame in which the orbit is propagated.- Specified by:
getFrame
in interfacePropagatorBuilder
- Returns:
- frame in which the orbit is propagated
-
getOrbitalParametersDrivers
public ParameterDriversList getOrbitalParametersDrivers()
Get the drivers for the configurable orbital parameters.- Specified by:
getOrbitalParametersDrivers
in 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:
getPropagationParametersDrivers
in 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:
getSelectedNormalizedParameters
in 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
-
-