Interface Observer
-
- All Superinterfaces:
MeasurementParticipant,ParameterDriversProvider
- All Known Implementing Classes:
GroundStation,ObserverSatellite
public interface Observer extends MeasurementParticipant
Abstract interface that contains those methods necessary for both space and ground-based satellite observers.- Since:
- 14.0
- Author:
- Brianna Aubin
-
-
Field Summary
-
Fields inherited from interface org.orekit.estimation.measurements.MeasurementParticipant
ACCELERATION_SUFFIX, BIAS_SUFFIX, DRIFT_SUFFIX, OFFSET_SUFFIX
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default AbsoluteDategetCorrectedReceptionDate(AbsoluteDate date)Compute actual date taking into account clock offset.default FieldAbsoluteDate<Gradient>getCorrectedReceptionDateField(AbsoluteDate date, int nbParams, Map<String,Integer> paramIndices)Compute actual date taking into account clock offset.FieldPVCoordinatesProvider<Gradient>getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)Return the FieldPVCoordinatesProvider.TransformgetOffsetToInertial(Frame inertial, AbsoluteDate date, boolean clockOffsetAlreadyApplied)Get the transform between offset frame and inertial frame.default FieldTransform<Gradient>getOffsetToInertial(Frame inertial, AbsoluteDate clockDate, int freeParameters, Map<String,Integer> indices)Get the transform between offset frame and inertial frame with derivatives.FieldTransform<Gradient>getOffsetToInertial(Frame inertial, FieldAbsoluteDate<Gradient> offsetCompensatedDate, int freeParameters, Map<String,Integer> indices)Get the transform between offset frame and inertial frame with derivatives.static Map<String,Integer>getParameterIndices(SpacecraftState[] states, List<ParameterDriver> parameterDrivers)Create a map of the free parameter values.PVCoordinatesProvidergetPVCoordinatesProvider()Return the PVCoordinatesProvider.booleanisSpaceBased()Get the type of object being used in measurement observations.-
Methods inherited from interface org.orekit.estimation.measurements.MeasurementParticipant
getClockAccelerationDriver, getClockBiasDriver, getClockDriftDriver, getName, getQuadraticClockModel, getQuadraticFieldClock
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
-
-
-
-
Method Detail
-
isSpaceBased
boolean isSpaceBased()
Get the type of object being used in measurement observations.- Returns:
- boolean
-
getPVCoordinatesProvider
PVCoordinatesProvider getPVCoordinatesProvider()
Return the PVCoordinatesProvider.- Returns:
- pos/vel coordinates provider
-
getFieldPVCoordinatesProvider
FieldPVCoordinatesProvider<Gradient> getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)
Return the FieldPVCoordinatesProvider.- Parameters:
freeParameters- number of estimated parametersparameterIndices- indices of the estimated parameters in derivatives computations, must be driver- Returns:
- pos/vel coordinates provider for values with Gradient field
-
getOffsetToInertial
Transform getOffsetToInertial(Frame inertial, AbsoluteDate date, boolean clockOffsetAlreadyApplied)
Get the transform between offset frame and inertial frame.The offset frame takes the current position offset, polar motion and the meridian shift into account. The frame returned is disconnected from later changes in the parameters. When the
parametersmanaging these offsets are changed, the method must be called again to retrieve a new offset frame.- Parameters:
inertial- inertial frame to transform todate- date of the transformclockOffsetAlreadyApplied- if true, the specifieddateis as read by the ground station clock (i.e. clock offset not compensated), if false, the specifieddatewas already compensated and is a physical absolute date- Returns:
- transform between offset frame and inertial frame, at real measurement date (i.e. with clock, Earth and station offsets applied)
-
getOffsetToInertial
default FieldTransform<Gradient> getOffsetToInertial(Frame inertial, AbsoluteDate clockDate, int freeParameters, Map<String,Integer> indices)
Get the transform between offset frame and inertial frame with derivatives.As the East and North vectors are not well defined at pole, the derivatives of these two vectors diverge to infinity as we get closer to the pole. So this method should not be used for stations less than 0.0001 degree from either poles.
- Parameters:
inertial- inertial frame to transform toclockDate- date of the transform, clock offset and its derivatives already compensatedfreeParameters- total number of free parameters in the gradientindices- indices of the estimated parameters in derivatives computations, must be driver span name in map, not driver name or will not give right results (seeParameterDriver.getValue(int, Map))- Returns:
- transform between offset frame and inertial frame, at specified date
-
getOffsetToInertial
FieldTransform<Gradient> getOffsetToInertial(Frame inertial, FieldAbsoluteDate<Gradient> offsetCompensatedDate, int freeParameters, Map<String,Integer> indices)
Get the transform between offset frame and inertial frame with derivatives.As the East and North vectors are not well defined at pole, the derivatives of these two vectors diverge to infinity as we get closer to the pole. So this method should not be used for stations less than 0.0001 degree from either poles.
- Parameters:
inertial- inertial frame to transform tooffsetCompensatedDate- date of the transform, clock offset and its derivatives already compensatedfreeParameters- total number of free parameters in the gradientindices- indices of the estimated parameters in derivatives computations, must be driver span name in map, not driver name or will not give right results (seeParameterDriver.getValue(int, Map))- Returns:
- transform between offset frame and inertial frame, at specified date
-
getParameterIndices
static Map<String,Integer> getParameterIndices(SpacecraftState[] states, List<ParameterDriver> parameterDrivers)
Create a map of the free parameter values.- Parameters:
states- list of ObservableSatellite measurement statesparameterDrivers- list of all parameter values for the measurement- Returns:
- map of the free parameter values
-
getCorrectedReceptionDate
default AbsoluteDate getCorrectedReceptionDate(AbsoluteDate date)
Compute actual date taking into account clock offset.- Parameters:
date- date as registered by observer- Returns:
- corrected date
-
getCorrectedReceptionDateField
default FieldAbsoluteDate<Gradient> getCorrectedReceptionDateField(AbsoluteDate date, int nbParams, Map<String,Integer> paramIndices)
Compute actual date taking into account clock offset.- Parameters:
date- date as registered by observernbParams- number of independent variables for automatic differentiationparamIndices- mapping between parameter name and variable index- Returns:
- corrected date
-
-