Class AbstractAnalyticalPropagatorBuilder
- java.lang.Object
-
- org.orekit.propagation.conversion.AbstractPropagatorBuilder
-
- org.orekit.propagation.conversion.AbstractAnalyticalPropagatorBuilder
-
- All Implemented Interfaces:
Cloneable
,PropagatorBuilder
- Direct Known Subclasses:
BrouwerLyddanePropagatorBuilder
,EcksteinHechlerPropagatorBuilder
,KeplerianPropagatorBuilder
,TLEPropagatorBuilder
public abstract class AbstractAnalyticalPropagatorBuilder extends AbstractPropagatorBuilder
Abstract class for propagator builders of analytical models (except for ephemeris i.e. interpolated ones).- Since:
- 12.2
- Author:
- Romain Serra
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractAnalyticalPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider, double initialMass)
Build a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addImpulseManeuver(ImpulseManeuver impulseManeuver)
Add impulse maneuver.AbstractBatchLSModel
buildLeastSquaresModel(PropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.void
clearImpulseManeuvers()
Remove all impulse maneuvers.protected List<ImpulseManeuver>
getImpulseManeuvers()
Protected getter for the impulse maneuvers.-
Methods inherited from class org.orekit.propagation.conversion.AbstractPropagatorBuilder
addAdditionalDerivativesProvider, addSupportedParameters, clone, createInitialOrbit, deselectDynamicParameters, getAdditionalDerivativesProviders, getAttitudeProvider, getFrame, getInitialOrbitDate, getMass, getMu, getOrbitalParametersDrivers, getOrbitType, getPositionAngleType, getPositionScale, getPropagationParametersDrivers, getSelectedNormalizedParameters, resetOrbit, setAttitudeProvider, setMass, setParameters
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.conversion.PropagatorBuilder
buildPropagator, buildPropagator
-
-
-
-
Constructor Detail
-
AbstractAnalyticalPropagatorBuilder
protected AbstractAnalyticalPropagatorBuilder(Orbit templateOrbit, PositionAngleType positionAngleType, double positionScale, boolean addDriverForCentralAttraction, AttitudeProvider attitudeProvider, double initialMass)
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. The default attitude provider is aligned with the orbit's 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 callingAbstractPropagatorBuilder.getOrbitalParametersDrivers()
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, aParameterDriver
should be set up for central attraction coefficientattitudeProvider
- for the propagatorinitialMass
- mass
-
-
Method Detail
-
getImpulseManeuvers
protected List<ImpulseManeuver> getImpulseManeuvers()
Protected getter for the impulse maneuvers.- Returns:
- impulse maneuvers
-
addImpulseManeuver
public void addImpulseManeuver(ImpulseManeuver impulseManeuver)
Add impulse maneuver.- Parameters:
impulseManeuver
- impulse maneuver
-
clearImpulseManeuvers
public void clearImpulseManeuvers()
Remove all impulse maneuvers.
-
buildLeastSquaresModel
public AbstractBatchLSModel buildLeastSquaresModel(PropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.- Parameters:
builders
- builders to use for propagationmeasurements
- measurementsestimatedMeasurementsParameters
- estimated measurements parametersobserver
- observer to be notified at model calls- Returns:
- a new model for the Batch Least Squares orbit determination
-
-