public abstract class AbstractMatricesHarvester extends Object implements MatricesHarvester
additional state arrays
.Modifier and Type | Field and Description |
---|---|
static int |
STATE_DIMENSION
State dimension, fixed to 6.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractMatricesHarvester(String stmName,
RealMatrix initialStm,
DoubleArrayDictionary initialJacobianColumns)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
freezeColumnsNames()
Freeze the names of the Jacobian columns.
|
protected double[][] |
getConversionJacobian(SpacecraftState state)
Get the conversion Jacobian between state parameters and parameters used for derivatives.
|
double[] |
getInitialJacobianColumn(String columnName)
Get the initial column of Jacobian matrix with respect to named parameter.
|
RealMatrix |
getInitialStateTransitionMatrix()
Get the initial State Transition Matrix.
|
RealMatrix |
getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to propagation parameters.
|
RealMatrix |
getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.
|
String |
getStmName()
Get the State Transition Matrix state name.
|
void |
setReferenceState(SpacecraftState reference)
Set up reference state.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getJacobiansColumnsNames
public static final int STATE_DIMENSION
protected AbstractMatricesHarvester(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
stmName
- 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 String getStmName()
public RealMatrix getInitialStateTransitionMatrix()
public double[] getInitialJacobianColumn(String columnName)
columnName
- name of the columnprotected double[][] getConversionJacobian(SpacecraftState state)
The base implementation returns identity, which is suitable for DSST and TLE propagators, as state parameters and parameters used for derivatives are the same.
For Numerical propagator, parameters used for derivatives are Cartesian and they can be different from state parameters because the numerical propagator can accept different type of orbits, so the method is overridden in derived classes.
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
reference
- reference state to setpublic RealMatrix getStateTransitionMatrix(SpacecraftState state)
getStateTransitionMatrix
in interface MatricesHarvester
state
- spacecraft stateorbit type
.public RealMatrix getParametersJacobian(SpacecraftState state)
getParametersJacobian
in interface MatricesHarvester
state
- spacecraft statepublic abstract void freezeColumnsNames()
This method is called when propagation starts, i.e. when configuration is completed
Copyright © 2002-2022 CS GROUP. All rights reserved.