public abstract class AbstractPropagatorBuilder extends Object implements PropagatorBuilder
Modifier | Constructor and Description |
---|---|
protected |
AbstractPropagatorBuilder(Orbit templateOrbit,
PositionAngle positionAngle,
double positionScale,
boolean addDriverForCentralAttraction)
Build a new instance.
|
protected |
AbstractPropagatorBuilder(Orbit templateOrbit,
PositionAngle positionAngle,
double positionScale,
boolean addDriverForCentralAttraction,
AttitudeProvider attitudeProvider)
Build a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addAdditionalEquations(AdditionalEquations additional)
Add a set of user-specified equations to be integrated along with the orbit propagation (author Shiva Iyer).
|
protected void |
addSupportedParameter(ParameterDriver driver)
Add a supported parameter.
|
protected Orbit |
createInitialOrbit()
Build an initial orbit using the current selected parameters.
|
protected List<AdditionalEquations> |
getAdditionalEquations()
Get the list of additional equations.
|
AttitudeProvider |
getAttitudeProvider()
Get the attitude provider.
|
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 in
PropagatorBuilder.buildPropagator(double[]) . |
PositionAngle |
getPositionAngle()
Get the position angle type expected for the 6 first parameters in
PropagatorBuilder.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.
|
void |
setAttitudeProvider(AttitudeProvider attitudeProvider)
Set the attitude provider.
|
protected void |
setParameters(double[] normalizedParameters)
Set the selected parameters.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildPropagator
protected AbstractPropagatorBuilder(Orbit templateOrbit, PositionAngle positionAngle, double positionScale, boolean addDriverForCentralAttraction)
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 the positionScale
to convert from the normalized
parameters used by the
callers of this builder to the real orbital parameters. The initial attitude
provider is aligned with the inertial frame.
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 getOrbitalParametersDrivers()
and then call
setSelected(false)
.
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, a ParameterDriver
should
be set up for central attraction coefficientAbstractPropagatorBuilder(Orbit, PositionAngle, double, boolean,
AttitudeProvider)
protected AbstractPropagatorBuilder(Orbit templateOrbit, PositionAngle positionAngle, double positionScale, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider)
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 the positionScale
to convert from the normalized
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 calling getOrbitalParametersDrivers()
and then call
setSelected(false)
.
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, a ParameterDriver
should
be set up for central attraction coefficientattitudeProvider
- for the propagator.AbstractPropagatorBuilder(Orbit, PositionAngle, double, boolean)
public OrbitType getOrbitType()
PropagatorBuilder.buildPropagator(double[])
.getOrbitType
in interface PropagatorBuilder
PropagatorBuilder.buildPropagator(double[])
PropagatorBuilder.buildPropagator(double[])
,
PropagatorBuilder.getPositionAngle()
public PositionAngle getPositionAngle()
PropagatorBuilder.buildPropagator(double[])
.getPositionAngle
in interface PropagatorBuilder
PropagatorBuilder.buildPropagator(double[])
PropagatorBuilder.buildPropagator(double[])
,
PropagatorBuilder.getOrbitType()
public AbsoluteDate getInitialOrbitDate()
getInitialOrbitDate
in interface PropagatorBuilder
public Frame getFrame()
getFrame
in interface PropagatorBuilder
public ParameterDriversList getOrbitalParametersDrivers()
getOrbitalParametersDrivers
in interface PropagatorBuilder
public ParameterDriversList getPropagationParametersDrivers()
The parameters typically correspond to force models.
getPropagationParametersDrivers
in interface PropagatorBuilder
public AttitudeProvider getAttitudeProvider()
public void setAttitudeProvider(AttitudeProvider attitudeProvider)
attitudeProvider
- attitude providerpublic double getPositionScale()
public double getMu()
public double[] getSelectedNormalizedParameters()
getSelectedNormalizedParameters
in interface PropagatorBuilder
protected Orbit createInitialOrbit()
This method is a stripped down version of PropagatorBuilder.buildPropagator(double[])
that only builds the initial orbit and not the full propagator.
protected void setParameters(double[] normalizedParameters)
normalizedParameters
- normalized values for the selected parametersprotected void addSupportedParameter(ParameterDriver driver)
driver
- driver for the parameterpublic void resetOrbit(Orbit newOrbit)
newOrbit
- New orbit to set in the propagator builderpublic void addAdditionalEquations(AdditionalEquations additional)
additional
- additional equationsprotected List<AdditionalEquations> getAdditionalEquations()
Copyright © 2002-2020 CS GROUP. All rights reserved.