Class EcksteinHechlerPropagatorBuilder
- java.lang.Object
-
- org.orekit.propagation.conversion.AbstractPropagatorBuilder
-
- org.orekit.propagation.conversion.EcksteinHechlerPropagatorBuilder
-
- All Implemented Interfaces:
OrbitDeterminationPropagatorBuilder
,PropagatorBuilder
public class EcksteinHechlerPropagatorBuilder extends AbstractPropagatorBuilder implements OrbitDeterminationPropagatorBuilder
Builder for Eckstein-Hechler propagator.- Since:
- 6.0
- Author:
- Pascal Parraud
-
-
Constructor Summary
Constructors Constructor Description EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, double referenceRadius, double mu, TideSystem tideSystem, double c20, double c30, double c40, double c50, double c60, OrbitType orbitType, PositionAngle positionAngle, double positionScale)
Build a new instance.EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, UnnormalizedSphericalHarmonicsProvider provider, PositionAngle positionAngle, double positionScale)
Build a new instance.EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, UnnormalizedSphericalHarmonicsProvider provider, PositionAngle positionAngle, double positionScale, AttitudeProvider attitudeProvider)
Build a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractKalmanModel
buildKalmanModel(List<OrbitDeterminationPropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementsParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Build a new Kalman model.AbstractBatchLSModel
buildLSModel(OrbitDeterminationPropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.Propagator
buildPropagator(double[] normalizedParameters)
Build a propagator.-
Methods inherited from class org.orekit.propagation.conversion.AbstractPropagatorBuilder
addAdditionalDerivativesProvider, addAdditionalEquations, addSupportedParameter, createInitialOrbit, deselectDynamicParameters, getAdditionalDerivativesProviders, getAdditionalEquations, getAttitudeProvider, getFrame, getInitialOrbitDate, getMu, getOrbitalParametersDrivers, getOrbitType, getPositionAngle, getPositionScale, getPropagationParametersDrivers, getSelectedNormalizedParameters, resetOrbit, setAttitudeProvider, setParameters
-
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.OrbitDeterminationPropagatorBuilder
resetOrbit
-
Methods inherited from interface org.orekit.propagation.conversion.PropagatorBuilder
getFrame, getInitialOrbitDate, getOrbitalParametersDrivers, getOrbitType, getPositionAngle, getPropagationParametersDrivers, getSelectedNormalizedParameters
-
-
-
-
Constructor Detail
-
EcksteinHechlerPropagatorBuilder
public EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, UnnormalizedSphericalHarmonicsProvider provider, PositionAngle positionAngle, double positionScale)
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.- Parameters:
templateOrbit
- reference orbit from which real orbits will be built (note that the mu from this orbit will be overridden with the mu from theprovider
)provider
- for un-normalized zonal coefficientspositionAngle
- position angle type to usepositionScale
- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)- Since:
- 8.0
- See Also:
EcksteinHechlerPropagatorBuilder(Orbit, UnnormalizedSphericalHarmonicsProvider, PositionAngle, double, AttitudeProvider)
-
EcksteinHechlerPropagatorBuilder
public EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, UnnormalizedSphericalHarmonicsProvider provider, PositionAngle positionAngle, double positionScale, 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 thepositionScale
to convert from thenormalized
parameters used by the callers of this builder to the real orbital parameters.- Parameters:
templateOrbit
- reference orbit from which real orbits will be built (note that the mu from this orbit will be overridden with the mu from theprovider
)provider
- for un-normalized zonal coefficientspositionAngle
- position angle type to usepositionScale
- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)attitudeProvider
- attitude law to use.- Since:
- 10.1
-
EcksteinHechlerPropagatorBuilder
public EcksteinHechlerPropagatorBuilder(Orbit templateOrbit, double referenceRadius, double mu, TideSystem tideSystem, double c20, double c30, double c40, double c50, double c60, OrbitType orbitType, PositionAngle positionAngle, double positionScale)
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.- Parameters:
templateOrbit
- reference orbit from which real orbits will be built (note that the mu from this orbit will be overridden with the mu from theprovider
)referenceRadius
- reference radius of the Earth for the potential model (m)mu
- central attraction coefficient (m³/s²)tideSystem
- tide systemc20
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60
- un-normalized zonal coefficient (about -5.41e-7 for Earth)orbitType
- orbit type to usepositionAngle
- position angle type to usepositionScale
- scaling factor used for orbital parameters normalization (typically set to the expected standard deviation of the position)- Since:
- 8.0
- See Also:
EcksteinHechlerPropagatorBuilder(Orbit, UnnormalizedSphericalHarmonicsProvider, PositionAngle, double, AttitudeProvider)
-
-
Method Detail
-
buildPropagator
public Propagator buildPropagator(double[] normalizedParameters)
Build a propagator.- Specified by:
buildPropagator
in interfacePropagatorBuilder
- Parameters:
normalizedParameters
- normalized values for the selected parameters- Returns:
- an initialized propagator
-
buildLSModel
public AbstractBatchLSModel buildLSModel(OrbitDeterminationPropagatorBuilder[] builders, List<ObservedMeasurement<?>> measurements, ParameterDriversList estimatedMeasurementsParameters, ModelObserver observer)
Build a new batch least squares model.- Specified by:
buildLSModel
in interfaceOrbitDeterminationPropagatorBuilder
- 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
-
buildKalmanModel
public AbstractKalmanModel buildKalmanModel(List<OrbitDeterminationPropagatorBuilder> propagatorBuilders, List<CovarianceMatrixProvider> covarianceMatricesProviders, ParameterDriversList estimatedMeasurementsParameters, CovarianceMatrixProvider measurementProcessNoiseMatrix)
Build a new Kalman model.- Specified by:
buildKalmanModel
in interfaceOrbitDeterminationPropagatorBuilder
- Parameters:
propagatorBuilders
- propagators builders used to evaluate the orbits.covarianceMatricesProviders
- providers for covariance matricesestimatedMeasurementsParameters
- measurement parameters to estimatemeasurementProcessNoiseMatrix
- provider for measurement process noise matrix- Returns:
- a new model for Kalman Filter orbit determination
-
-