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, getStmName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
init, yield
protected 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 MatricesHarvester
public void freezeColumnsNames()
This method is called when propagation starts, i.e. when configuration is completed
freezeColumnsNames
in class AbstractMatricesHarvester
public String getName()
getName
in interface AdditionalStateProvider
public double[] getAdditionalState(SpacecraftState state)
getAdditionalState
in interface AdditionalStateProvider
state
- spacecraft state to which additional state should correspondpublic RealMatrix getStateTransitionMatrix(SpacecraftState state)
getStateTransitionMatrix
in interface MatricesHarvester
getStateTransitionMatrix
in class AbstractMatricesHarvester
state
- spacecraft stateorbit type
.public RealMatrix getParametersJacobian(SpacecraftState state)
getParametersJacobian
in interface MatricesHarvester
getParametersJacobian
in class AbstractMatricesHarvester
state
- 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 MatricesHarvester
setReferenceState
in class AbstractMatricesHarvester
reference
- reference state to setpublic abstract AbstractAnalyticalGradientConverter getGradientConverter()
Copyright © 2002-2022 CS GROUP. All rights reserved.