public abstract class AbstractAnalyticalMatricesHarvester extends AbstractMatricesHarvester implements AdditionalStateProvider
STATE_DIMENSION| Modifier | Constructor and Description |
|---|---|
protected |
AbstractAnalyticalMatricesHarvester(AbstractAnalyticalPropagator propagator,
String stmName,
RealMatrix initialStm,
DoubleArrayDictionary initialJacobianColumns)
Simple constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
freezeColumnsNames()
Freeze the names of the Jacobian columns.
|
double[] |
getAdditionalState(SpacecraftState state)
Get the additional state.
|
abstract AbstractAnalyticalGradientConverter |
getGradientConverter()
Get the gradient converter related to the analytical orbit propagator.
|
List<String> |
getJacobiansColumnsNames()
Get the names of the parameters in the matrix returned by
MatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState). |
String |
getName()
Get the name of the additional state.
|
RealMatrix |
getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to propagation parameters.
|
RealMatrix |
getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.
|
void |
setReferenceState(SpacecraftState reference)
Set up reference state.
|
getConversionJacobian, getInitialJacobianColumn, getInitialStateTransitionMatrix, getStmNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinit, yieldprotected AbstractAnalyticalMatricesHarvester(AbstractAnalyticalPropagator propagator, String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
The arguments for initial matrices must be compatible with the
orbit type
and position angle that will be used by propagator
propagator - propagator bound to this harvesterstmName - State Transition Matrix state nameinitialStm - initial State Transition Matrix ∂Y/∂Y₀,
if null (which is the most frequent case), assumed to be 6x6 identityinitialJacobianColumns - initial columns of the Jacobians matrix with respect to parameters,
if null or if some selected parameters are missing from the dictionary, the corresponding
initial column is assumed to be 0public List<String> getJacobiansColumnsNames()
MatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState).
Beware that the names of the parameters are fully known only once all force models have been set up and their parameters properly selected. Applications that retrieve the matrices harvester first and select the force model parameters to retrieve afterwards (but obviously before starting propagation) must take care to wait until the parameters have been set up before they call this method. Calling the method too early would return wrong results.
The names are returned in the Jacobians matrix columns order
getJacobiansColumnsNames in interface MatricesHarvesterpublic void freezeColumnsNames()
This method is called when propagation starts, i.e. when configuration is completed
freezeColumnsNames in class AbstractMatricesHarvesterpublic String getName()
getName in interface AdditionalStateProviderpublic double[] getAdditionalState(SpacecraftState state)
getAdditionalState in interface AdditionalStateProviderstate - spacecraft state to which additional state should correspondpublic RealMatrix getStateTransitionMatrix(SpacecraftState state)
getStateTransitionMatrix in interface MatricesHarvestergetStateTransitionMatrix in class AbstractMatricesHarvesterstate - spacecraft stateorbit type.public RealMatrix getParametersJacobian(SpacecraftState state)
getParametersJacobian in interface MatricesHarvestergetParametersJacobian in class AbstractMatricesHarvesterstate - spacecraft statepublic void setReferenceState(SpacecraftState reference)
This method is called whenever the global propagation reference state changes. This corresponds to the start of propagation in batch least squares orbit determination or at prediction step for each measurement in Kalman filtering. Its goal is to allow the harvester to compute some internal data. Analytical models like TLE use it to compute analytical derivatives, semi-analytical models like DSST use it to compute short periodic terms, numerical models do not use it at all.
setReferenceState in interface MatricesHarvestersetReferenceState in class AbstractMatricesHarvesterreference - reference state to setpublic abstract AbstractAnalyticalGradientConverter getGradientConverter()
Copyright © 2002-2023 CS GROUP. All rights reserved.