XYZCovariance.java
/* Copyright 2002-2024 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.files.ccsds.ndm.cdm;
import org.hipparchus.linear.MatrixUtils;
import org.hipparchus.linear.RealMatrix;
import org.orekit.errors.OrekitException;
import org.orekit.errors.OrekitMessages;
import org.orekit.files.ccsds.section.CommentsContainer;
/**
* Container for XYZ covariance matrix data. This class as a RealMatrix as
* attribute which can be acces with getXYZCovariaxMatrix method. Beware that
* there are thus 2 ways to modify the XYZ covariance : setC... ( setCxx,
* setCyx ...) which should be prioritized and getXYZCovariaxMatrix.setEntry(row, col, value).
* <p> The XYZ Covariance Matrix is only provided if {@link CdmMetadataKey#ALT_COV_TYPE} is {@link AltCovarianceType#XYZ}, otherwise
* its terms will return NaN. </p>
* <p> When available, the matrix is given in the 9×9 Lower Triangular Form. All parameters of the 6×6 position/velocity submatrix
* are mandatory. The remaining elements will return NaN if not provided.</p>
*/
public class XYZCovariance extends CommentsContainer {
/** XYZ covariance matrix. */
private RealMatrix covarianceMatrix;
/** Flag indicating whether the alternate covariance type set in the CDM Object metadata section is XYZ. */
private boolean covXYZset;
/** Simple constructor. To update matrix value there are 2 ways to modify the XYZ
* covariance : setC... ( setCxx, setCyx ...) which should be prioritized and
* getXYZCovariaxMatrix.setEntry(row, col, value).
* <p> The XYZ Covariance Matrix is only provided if {@link CdmMetadataKey#ALT_COV_TYPE} is {@link AltCovarianceType#XYZ}, otherwise
* its terms will return NaN. </p>
* <p> When available, the matrix is given in the 9×9 Lower Triangular Form. All parameters of the 6×6 position/velocity submatrix
* are mandatory. The remaining elements will return NaN if not provided.</p>
* @param covXYZset Flag indicating whether the alternate covariance type set in the CDM Object metadata section is XYZ.
*/
public XYZCovariance(final boolean covXYZset) {
this.covXYZset = covXYZset;
covarianceMatrix = MatrixUtils.createRealMatrix(9, 9);
for (int i = 0; i < covarianceMatrix.getRowDimension(); ++i) {
for (int j = 0; j <= i; ++j) {
covarianceMatrix.setEntry(i, j, Double.NaN);
}
}
}
/** {@inheritDoc} */
@Override
public void validate(final double version) {
super.validate(version);
// Conditional on ALT_COV_TYPE = XYZ
if (!isCovXYZset()) {
throw new OrekitException(OrekitMessages.CCSDS_DATE_INVALID_PREAMBLE_FIELD, CdmMetadataKey.ALT_COV_TYPE);
}
// We only check values that are mandatory in a cdm file
checkNotNaN(getCxx(), XYZCovarianceKey.CX_X.name());
checkNotNaN(getCyx(), XYZCovarianceKey.CY_X.name());
checkNotNaN(getCyy(), XYZCovarianceKey.CY_Y.name());
checkNotNaN(getCzx(), XYZCovarianceKey.CZ_X.name());
checkNotNaN(getCzy(), XYZCovarianceKey.CZ_Y.name());
checkNotNaN(getCzz(), XYZCovarianceKey.CZ_Z.name());
checkNotNaN(getCxdotx(), XYZCovarianceKey.CXDOT_X.name());
checkNotNaN(getCxdoty(), XYZCovarianceKey.CXDOT_Y.name());
checkNotNaN(getCxdotz(), XYZCovarianceKey.CXDOT_Z.name());
checkNotNaN(getCxdotxdot(), XYZCovarianceKey.CXDOT_XDOT.name());
checkNotNaN(getCydotx(), XYZCovarianceKey.CYDOT_X.name());
checkNotNaN(getCydoty(), XYZCovarianceKey.CYDOT_Y.name());
checkNotNaN(getCydotz(), XYZCovarianceKey.CYDOT_Z.name());
checkNotNaN(getCydotxdot(), XYZCovarianceKey.CYDOT_XDOT.name());
checkNotNaN(getCydotydot(), XYZCovarianceKey.CYDOT_YDOT.name());
checkNotNaN(getCzdotx(), XYZCovarianceKey.CZDOT_X.name());
checkNotNaN(getCzdoty(), XYZCovarianceKey.CZDOT_Y.name());
checkNotNaN(getCzdotz(), XYZCovarianceKey.CZDOT_Z.name());
checkNotNaN(getCzdotxdot(), XYZCovarianceKey.CZDOT_XDOT.name());
checkNotNaN(getCzdotydot(), XYZCovarianceKey.CZDOT_YDOT.name());
checkNotNaN(getCzdotzdot(), XYZCovarianceKey.CZDOT_ZDOT.name());
}
/** Set an entry in the XYZ covariance matrix.
* <p>
* Both m(j, k) and m(k, j) are set.
* </p>
* @param j row index (must be between 0 and 5 (inclusive)
* @param k column index (must be between 0 and 5 (inclusive)
* @param entry value of the matrix entry
*/
public void setCovarianceMatrixEntry(final int j, final int k, final double entry) {
covarianceMatrix.setEntry(j, k, entry);
covarianceMatrix.setEntry(k, j, entry);
}
/**
* Get the XYZ covariance matrix.
* <p> The XYZ Covariance Matrix is only provided if {@link CdmMetadataKey#ALT_COV_TYPE} is {@link AltCovarianceType#XYZ}, otherwise
* its terms will return NaN. </p>
* <p> When available, the matrix is given in the 9×9 Lower Triangular Form. All parameters of the 6×6 position/velocity submatrix
* are mandatory. The remaining elements will return NaN if not provided.</p>
* @return the XYZ covariance matrix
*/
public RealMatrix getXYZCovarianceMatrix() {
return covarianceMatrix;
}
/**
* Get the object [1,1] in covariance matrix (with index starting at 1).
* @return the object [1,1] in covariance matrix (in m²)
*/
public double getCxx() {
return covarianceMatrix.getEntry(0, 0);
}
/**
* Set the object [1,1] in covariance matrix (with index starting at 1).
* @param CXX = object [1,1] in covariance matrix (in m²)
*/
public void setCxx(final double CXX) {
refuseFurtherComments();
// Conditional on ALT_COV_TYPE = XYZ
if (!isCovXYZset()) {
throw new OrekitException(OrekitMessages.CCSDS_DATE_INVALID_PREAMBLE_FIELD, CdmMetadataKey.ALT_COV_TYPE);
}
setCovarianceMatrixEntry(0, 0, CXX);
}
/**
* Get the object [2,1] in covariance matrix (with index starting at 1).
* @return the object [2,1] in covariance matrix (in m²)
*/
public double getCyx() {
return covarianceMatrix.getEntry(1, 0);
}
/**
* Set the object [2,1] in covariance matrix (with index starting at 1).
* @param CYX = object [2,1] in covariance matrix (in m²)
*/
public void setCyx(final double CYX) {
refuseFurtherComments();
setCovarianceMatrixEntry(1, 0, CYX);
}
/**
* Get the object [2,2] in covariance matrix (with index starting at 1).
* @return the object [2,2] in covariance matrix (in m²)
*/
public double getCyy() {
return covarianceMatrix.getEntry(1, 1);
}
/**
* Set the object [2,2] in covariance matrix (with index starting at 1).
* @param CYY = object [2,2] in covariance matrix (in m²)
*/
public void setCyy(final double CYY) {
refuseFurtherComments();
setCovarianceMatrixEntry(1, 1, CYY);
}
/**
* Get the object [3,1] in covariance matrix (with index starting at 1).
* @return the object [3,1] in covariance matrix (in m²)
*/
public double getCzx() {
return covarianceMatrix.getEntry(2, 0);
}
/**
* Set the object [3,1] in covariance matrix (with index starting at 1).
* @param CZX = object [3,1] in covariance matrix (in m²)
*/
public void setCzx(final double CZX) {
refuseFurtherComments();
setCovarianceMatrixEntry(2, 0, CZX);
}
/**
* Get the object [3,2] in covariance matrix (with index starting at 1).
* @return the object [3,2] in covariance matrix (in m²)
*/
public double getCzy() {
return covarianceMatrix.getEntry(2, 1);
}
/**
* Set the object [3,2] in covariance matrix (with index starting at 1).
* @param CZY = object [3,2] in covariance matrix (in m²)
*/
public void setCzy(final double CZY) {
refuseFurtherComments();
setCovarianceMatrixEntry(2, 1, CZY);
}
/**
* Get the object [3,3] in covariance matrix (with index starting at 1).
* @return the object [3,3] in covariance matrix (in m²)
*/
public double getCzz() {
return covarianceMatrix.getEntry(2, 2);
}
/**
* Set the object [3,3] in covariance matrix (with index starting at 1).
* @param CZZ = object [3,3] in covariance matrix (in m²)
*/
public void setCzz(final double CZZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(2, 2, CZZ);
}
/**
* Get the object [4,1] in covariance matrix (with index starting at 1).
* @return the object [4,1] in covariance matrix (in m²/s)
*/
public double getCxdotx() {
return covarianceMatrix.getEntry(3, 0);
}
/**
* Set the object [4,1] in covariance matrix (with index starting at 1).
* @param CXdotX = object [4,1] in covariance matrix (in m²/s)
*/
public void setCxdotx(final double CXdotX) {
refuseFurtherComments();
setCovarianceMatrixEntry(3, 0, CXdotX);
}
/**
* Get the object [4,2] in covariance matrix (with index starting at 1).
* @return the object [4,2] in covariance matrix (in m²/s)
*/
public double getCxdoty() {
return covarianceMatrix.getEntry(3, 1);
}
/**
* Set the object [4, 2] in covariance matrix (with index starting at 1).
* @param CXdotY = object [4, 2] in covariance matrix (in m²/s)
*/
public void setCxdoty(final double CXdotY) {
refuseFurtherComments();
setCovarianceMatrixEntry(3, 1, CXdotY);
}
/**
* Get the object [4, 3] in covariance matrix (with index starting at 1) .
* @return the object [4, 3] in covariance matrix (in m²/s)
*/
public double getCxdotz() {
return covarianceMatrix.getEntry(3, 2);
}
/**
* Set the object [4, 3] in covariance matrix (with index starting at 1).
* @param CXdotZ = object [4,3] in covariance matrix (in m²/s)
*/
public void setCxdotz(final double CXdotZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(3, 2, CXdotZ);
}
/**
* Get the object [4, 4] in covariance matrix (with index starting at 1).
* @return the object [4, 4] in covariance matrix (in m²/s²)
*/
public double getCxdotxdot() {
return covarianceMatrix.getEntry(3, 3);
}
/**
* Set the object [4, 4] in covariance matrix (with index starting at 1).
* @param CXdotXdot = object [4, 4] in covariance matrix (in m²/s²)
*/
public void setCxdotxdot(final double CXdotXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(3, 3, CXdotXdot);
}
/**
* Get the object [5, 1] in covariance matrix (with index starting at 1).
* @return the object [5, 1] in covariance matrix (in m²/s)
*/
public double getCydotx() {
return covarianceMatrix.getEntry(4, 0);
}
/**
* Set the object [5,1] in covariance matrix (with index starting at 1).
* @param CYdotX = object [5,1] in covariance matrix (in m²/s)
*/
public void setCydotx(final double CYdotX) {
refuseFurtherComments();
setCovarianceMatrixEntry(4, 0, CYdotX);
}
/**
* Get the object [5,2] in covariance matrix (with index starting at 1).
* @return the object [5,2] in covariance matrix (in m²/s)
*/
public double getCydoty() {
return covarianceMatrix.getEntry(4, 1);
}
/**
* Set the object [5,2] in covariance matrix (with index starting at 1).
* @param CYdotY = object [5,2] in covariance matrix (in m²/s)
*/
public void setCydoty(final double CYdotY) {
refuseFurtherComments();
setCovarianceMatrixEntry(4, 1, CYdotY);
}
/**
* Get the object [5,3] in covariance matrix (with index starting at 1).
* @return the object [5,3] in covariance matrix (in m²/s)
*/
public double getCydotz() {
return covarianceMatrix.getEntry(4, 2);
}
/**
* Set the object [5,3] in covariance matrix (with index starting at 1).
* @param CYdotZ = object [5,3] in covariance matrix (in m²/s)
*/
public void setCydotz(final double CYdotZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(4, 2, CYdotZ);
}
/**
* Get the object [5,4] in covariance matrix (with index starting at 1).
* @return the object [5,4] in covariance matrix (in m²/s²)
*/
public double getCydotxdot() {
return covarianceMatrix.getEntry(4, 3);
}
/**
* Set the object [5,4] in covariance matrix (with index starting at 1).
* @param CYdotXdot = object [5,4] in covariance matrix (in m²/s²)
*/
public void setCydotxdot(final double CYdotXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(4, 3, CYdotXdot);
}
/**
* Get the object [5,5] in covariance matrix (with index starting at 1).
* @return the object [5,5] in covariance matrix (in m²/s²)
*/
public double getCydotydot() {
return covarianceMatrix.getEntry(4, 4);
}
/**
* Set the object [5,5] in covariance matrix (with index starting at 1).
* @param CYdotYdot = object [5,5] in covariance matrix (in m²/s²)
*/
public void setCydotydot(final double CYdotYdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(4, 4, CYdotYdot);
}
/**
* Get the object [6,1] in covariance matrix (with index starting at 1).
* @return the object [6,1] in covariance matrix (in m²/s)
*/
public double getCzdotx() {
return covarianceMatrix.getEntry(5, 0);
}
/**
* Set the object [6,1] in covariance matrix (with index starting at 1).
* @param CZdotX = object [6,1] in covariance matrix (in m²/s)
*/
public void setCzdotx(final double CZdotX) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 0, CZdotX);
}
/**
* Get the object [6,2] in covariance matrix (with index starting at 1).
* @return the object [6,2] in covariance matrix (in m²/s)
*/
public double getCzdoty() {
return covarianceMatrix.getEntry(5, 1);
}
/**
* Set the object [6,2] in covariance matrix (with index starting at 1).
* @param CZdotY = object [6,2] in covariance matrix (in m²/s)
*/
public void setCzdoty(final double CZdotY) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 1, CZdotY);
}
/**
* Get the object [6,3] in covariance matrix (with index starting at 1).
* @return the object [6,3] in covariance matrix (in m²/s)
*/
public double getCzdotz() {
return covarianceMatrix.getEntry(5, 2);
}
/**
* Set the object [6,3] in covariance matrix (with index starting at 1).
* @param CZdotZ = object [6,3] in covariance matrix (in m²/s)
*/
public void setCzdotz(final double CZdotZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 2, CZdotZ);
}
/**
* Get the object [6,4] in covariance matrix (with index starting at 1).
* @return the object [6,4] in covariance matrix (in m²/s²)
*/
public double getCzdotxdot() {
return covarianceMatrix.getEntry(5, 3);
}
/**
* Set the object [6,4] in covariance matrix (with index starting at 1).
* @param CZdotXdot = object [6,4] in covariance matrix (in m²/s²)
*/
public void setCzdotxdot(final double CZdotXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 3, CZdotXdot);
}
/**
* Get the object [6,5] in covariance matrix (with index starting at 1).
* @return the object [6,5] in covariance matrix (in m²/s²)
*/
public double getCzdotydot() {
return covarianceMatrix.getEntry(5, 4);
}
/**
* Set the object [6,5] in covariance matrix (with index starting at 1).
* @param CZdotYdot = object [6,5] in covariance matrix (in m²/s²)
*/
public void setCzdotydot(final double CZdotYdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 4, CZdotYdot);
}
/**
* Get the object [6,6] in covariance matrix (with index starting at 1).
* @return the object [6,6] in covariance matrix (in m²/s²)
*/
public double getCzdotzdot() {
return covarianceMatrix.getEntry(5, 5);
}
/**
* Set the object [6,6] in covariance matrix (with index starting at 1).
* @param CZdotZdot = object [6,6] in covariance matrix (in m²/s²)
*/
public void setCzdotzdot(final double CZdotZdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(5, 5, CZdotZdot);
}
/**
* Get the object [7,1] in covariance matrix (with index starting at 1).
* @return the object [7,1] in covariance matrix (in m³/kg)
*/
public double getCdrgx() {
return covarianceMatrix.getEntry(6, 0);
}
/**
* Set the object [7,1] in covariance matrix (with index starting at 1).
* @param CDRGX = object [7,1] in covariance matrix (in m³/kg)
*/
public void setCdrgx(final double CDRGX) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 0, CDRGX);
}
/**
* Get the object [7,2] in covariance matrix.
* @return the object [7,2] in covariance matrix (in m³/kg)
*/
public double getCdrgy() {
return covarianceMatrix.getEntry(6, 1);
}
/**
* Set the object [7,2] in covariance matrix (with index starting at 1).
* @param CDRGY = object [7,2] in covariance matrix (in m³/kg)
*/
public void setCdrgy(final double CDRGY) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 1, CDRGY);
}
/**
* Get the object [7,3] in covariance matrix (with index starting at 1).
* @return the object [7,3] in covariance matrix (in m³/kg)
*/
public double getCdrgz() {
return covarianceMatrix.getEntry(6, 2);
}
/**
* Set the object [7,3] in covariance matrix (with index starting at 1).
* @param CDRGZ = object [7,3] in covariance matrix (in m³/kg)
*/
public void setCdrgz(final double CDRGZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 2, CDRGZ);
}
/**
* Get the object [7,4] in covariance matrix (with index starting at 1).
* @return the object [7,4] in covariance matrix (in m³/(kg.s))
*/
public double getCdrgxdot() {
return covarianceMatrix.getEntry(6, 3);
}
/**
* Set the object [7,4] in covariance matrix (with index starting at 1).
* @param CDRGXdot = object [7,4] in covariance matrix (in m³/(kg.s))
*/
public void setCdrgxdot(final double CDRGXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 3, CDRGXdot);
}
/**
* Get the object [7,5] in covariance matrix (with index starting at 1).
* @return the object [7,5] in covariance matrix (in m³/(kg.s))
*/
public double getCdrgydot() {
return covarianceMatrix.getEntry(6, 4);
}
/**
* Set the object [7,5] in covariance matrix (with index starting at 1).
* @param CDRGYdot = object [7,5] in covariance matrix (in m³/(kg.s))
*/
public void setCdrgydot(final double CDRGYdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 4, CDRGYdot);
}
/**
* Get the object [7,6] in covariance matrix (with index starting at 1).
* @return the object [7,6] in covariance matrix (in m³/(kg.s))
*/
public double getCdrgzdot() {
return covarianceMatrix.getEntry(6, 5);
}
/**
* Set the object [7,6] in covariance matrix (with index starting at 1).
* @param CDRGZdot = object [7,6] in covariance matrix (in m³/(kg.s))
*/
public void setCdrgzdot(final double CDRGZdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 5, CDRGZdot);
}
/**
* Get the object [7,7] in covariance matrix (with index starting at 1).
* @return the object [7,7] in covariance matrix (in m⁴/kg²)
*/
public double getCdrgdrg() {
return covarianceMatrix.getEntry(6, 6);
}
/**
* Set the object [7,7] in covariance matrix (with index starting at 1).
* @param CDRGDRG = object [7,7] in covariance matrix (in m⁴/kg²)
*/
public void setCdrgdrg(final double CDRGDRG) {
refuseFurtherComments();
setCovarianceMatrixEntry(6, 6, CDRGDRG);
}
/**
* Get the object [8,1] in covariance matrix (with index starting at 1).
* @return the object [8,1] in covariance matrix (in m³/kg)
*/
public double getCsrpx() {
return covarianceMatrix.getEntry(7, 0);
}
/**
* Set the object [8,1] in covariance matrix (with index starting at 1).
* @param CSRPX = object [8,1] in covariance matrix (in m³/kg)
*/
public void setCsrpx(final double CSRPX) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 0, CSRPX);
}
/**
* Get the object [8,2] in covariance matrix (with index starting at 1).
* @return the object [8,2] in covariance matrix (in m³/kg)
*/
public double getCsrpy() {
return covarianceMatrix.getEntry(7, 1);
}
/**
* Set the object [8,2] in covariance matrix (with index starting at 1).
* @param CSRPY = object [8,2] in covariance matrix (in m³/kg)
*/
public void setCsrpy(final double CSRPY) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 1, CSRPY);
}
/**
* Get the object [8,3] in covariance matrix (with index starting at 1).
* @return the object [8,3] in covariance matrix (in m³/kg)
*/
public double getCsrpz() {
return covarianceMatrix.getEntry(7, 2);
}
/**
* Set the object [8,3] in covariance matrix (with index starting at 1).
* @param CSRPZ = object [8,3] in covariance matrix (in m³/kg)
*/
public void setCsrpz(final double CSRPZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 2, CSRPZ);
}
/**
* Get the object [8,4] in covariance matrix (with index starting at 1).
* @return the object [8,4] in covariance matrix (in m³/(kg.s))
*/
public double getCsrpxdot() {
return covarianceMatrix.getEntry(7, 3);
}
/**
* Set the object [8,4] in covariance matrix (with index starting at 1).
* @param CSRPXdot = object [8,4] in covariance matrix (in m³/(kg.s))
*/
public void setCsrpxdot(final double CSRPXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 3, CSRPXdot);
}
/**
* Get the object [8,5] in covariance matrix (with index starting at 1).
* @return the object [8,5] in covariance matrix (in m³/(kg.s))
*/
public double getCsrpydot() {
return covarianceMatrix.getEntry(7, 4);
}
/**
* Set the object [8,5] in covariance matrix (with index starting at 1).
* @param CSRPYdot = object [8,5] in covariance matrix (in m³/(kg.s))
*/
public void setCsrpydot(final double CSRPYdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 4, CSRPYdot);
}
/**
* Get the object [8,6] in covariance matrix (with index starting at 1).
* @return the object [8,6] in covariance matrix (in m³/(kg.s))
*/
public double getCsrpzdot() {
return covarianceMatrix.getEntry(7, 5);
}
/**
* Set the object [8,6] in covariance matrix (with index starting at 1).
* @param CSRPZdot = object [8,6] in covariance matrix (in m³/(kg.s))
*/
public void setCsrpzdot(final double CSRPZdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 5, CSRPZdot);
}
/**
* Get the object [8,7] in covariance matrix (with index starting at 1).
* @return the object [8,7] in covariance matrix (in m⁴/kg²)
*/
public double getCsrpdrg() {
return covarianceMatrix.getEntry(7, 6);
}
/**
* Set the object [8,7] in covariance matrix (with index starting at 1).
* @param CSRPDRG = object [8,7] in covariance matrix (in m⁴/kg²)
*/
public void setCsrpdrg(final double CSRPDRG) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 6, CSRPDRG);
}
/**
* Get the object [8,8] in covariance matrix (with index starting at 1).
* @return the object [8,8] in covariance matrix (in m⁴/kg²)
*/
public double getCsrpsrp() {
return covarianceMatrix.getEntry(7, 7);
}
/**
* Set the object [8,8] in covariance matrix (with index starting at 1).
* @param CSRPSRP = object [8,8] in covariance matrix (in m⁴/kg²)
*/
public void setCsrpsrp(final double CSRPSRP) {
refuseFurtherComments();
setCovarianceMatrixEntry(7, 7, CSRPSRP);
}
/**
* Get the object [9,1] in covariance matrix (with index starting at 1).
* @return the object [9,1] in covariance matrix (in m²/s²)
*/
public double getCthrx() {
return covarianceMatrix.getEntry(8, 0);
}
/**
* Set the object [9,1] in covariance matrix (with index starting at 1).
* @param CTHRX = object [9,1] in covariance matrix (in m²/s²)
*/
public void setCthrx(final double CTHRX) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 0, CTHRX);
}
/**
* Get the object [9,2] in covariance matrix (with index starting at 1).
* @return the object [9,2] in covariance matrix (in m²/s²)
*/
public double getCthry() {
return covarianceMatrix.getEntry(8, 1);
}
/**
* Set the object [9,2] in covariance matrix (with index starting at 1).
* @param CTHRY = object [9,2] in covariance matrix (in m²/s²)
*/
public void setCthry(final double CTHRY) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 1, CTHRY);
}
/**
* Get the object [9,3] in covariance matrix (with index starting at 1).
* @return the object [9,3] in covariance matrix (in m²/s²)
*/
public double getCthrz() {
return covarianceMatrix.getEntry(8, 2);
}
/**
* Set the object [9,3] in covariance matrix (with index starting at 1).
* @param CTHRZ = object [9,3] in covariance matrix (in m²/s²)
*/
public void setCthrz(final double CTHRZ) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 2, CTHRZ);
}
/**
* Get the object [9,4] in covariance matrix (with index starting at 1).
* @return the object [9,4] in covariance matrix (in m²/s³)
*/
public double getCthrxdot() {
return covarianceMatrix.getEntry(8, 3);
}
/**
* Set the object [9,4] in covariance matrix (with index starting at 1).
* @param CTHRXdot = object [9,4] in covariance matrix (in m²/s³)
*/
public void setCthrxdot(final double CTHRXdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 3, CTHRXdot);
}
/**
* Get the object [9,5] in covariance matrix (with index starting at 1).
* @return the object [9,5] in covariance matrix (in m²/s³)
*/
public double getCthrydot() {
return covarianceMatrix.getEntry(8, 4);
}
/**
* Set the object [9,5] in covariance matrix (with index starting at 1).
* @param CTHRYdot = object [9,5] in covariance matrix (in m²/s³)
*/
public void setCthrydot(final double CTHRYdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 4, CTHRYdot);
}
/**
* Get the object [9,6] in covariance matrix (with index starting at 1).
* @return the object [9,6] in covariance matrix (in m²/s³)
*/
public double getCthrzdot() {
return covarianceMatrix.getEntry(8, 5);
}
/**
* Set the object [9,6] in covariance matrix (with index starting at 1).
* @param CTHRZdot = object [9,6] in covariance matrix (in m²/s³)
*/
public void setCthrzdot(final double CTHRZdot) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 5, CTHRZdot);
}
/**
* Get the object [9,7] in covariance matrix (with index starting at 1).
* @return the object [9,7] in covariance matrix (in m³/(kg.s²))
*/
public double getCthrdrg() {
return covarianceMatrix.getEntry(8, 6);
}
/**
* Set the object [9,7] in covariance matrix (with index starting at 1).
* @param CTHRDRG = object [9,7] in covariance matrix (in m³/(kg.s²))
*/
public void setCthrdrg(final double CTHRDRG) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 6, CTHRDRG);
}
/**
* Get the object [9,8] in covariance matrix (with index starting at 1).
* @return the object [9,8] in covariance matrix (in m³/(kg.s²))
*/
public double getCthrsrp() {
return covarianceMatrix.getEntry(8, 7);
}
/**
* Set the object [9,8] in covariance matrix (with index starting at 1).
* @param CTHRSRP = object [9,8] in covariance matrix (in m³/(kg.s²))
*/
public void setCthrsrp(final double CTHRSRP) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 7, CTHRSRP);
}
/**
* Get the object [9,9] in covariance matrix (with index starting at 1).
* @return the object [9,9] in covariance matrix (in m²/s⁴)
*/
public double getCthrthr() {
return covarianceMatrix.getEntry(8, 8);
}
/**
* Set the object [9,9] in covariance matrix (with index starting at 1).
* @param CTHRTHR = object [9,9] in covariance matrix (in m²/s⁴)
*/
public void setCthrthr(final double CTHRTHR) {
refuseFurtherComments();
setCovarianceMatrixEntry(8, 8, CTHRTHR);
}
/** Get the flag indicating whether the alternate covariance type set in the CDM Object metadata section is XYZ.
* @return the covXYZset
*/
public boolean isCovXYZset() {
return covXYZset;
}
}