AttitudeCovarianceHistoryMetadata.java

  1. /* Copyright 2002-2024 Luc Maisonobe
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */

  17. package org.orekit.files.ccsds.ndm.adm.acm;

  18. import org.orekit.files.ccsds.definitions.FrameFacade;
  19. import org.orekit.files.ccsds.section.CommentsContainer;

  20. /** Metadata for covariance history.
  21.  * @author Luc Maisonobe
  22.  * @since 12.0
  23.  */
  24. public class AttitudeCovarianceHistoryMetadata extends CommentsContainer {

  25.     /** Covariance identification number. */
  26.     private String covID;

  27.     /** Identification number of previous covariance. */
  28.     private String covPrevID;

  29.     /** Basis of this covariance time history data. */
  30.     private String covBasis;

  31.     /** Identification number of the covariance determination or simulation upon which this covariance is based. */
  32.     private String covBasisID;

  33.     /** Reference frame of the covariance. */
  34.     private FrameFacade covReferenceFrame;

  35.     /** Covariance element set type. */
  36.     private AttitudeCovarianceType covType;

  37.     /** Empty constructor.
  38.      * <p>
  39.      * This constructor is not strictly necessary, but it prevents spurious
  40.      * javadoc warnings with JDK 18 and later.
  41.      * </p>
  42.      * @since 12.0
  43.      */
  44.     public AttitudeCovarianceHistoryMetadata() {
  45.         // nothing to do
  46.     }

  47.     /** {@inheritDoc} */
  48.     @Override
  49.     public void validate(final double version) {
  50.         super.validate(version);
  51.         checkNotNull(covType, AttitudeCovarianceHistoryMetadataKey.COV_TYPE.name());
  52.     }

  53.     /** Get covariance identification number.
  54.      * @return covariance identification number
  55.      */
  56.     public String getCovID() {
  57.         return covID;
  58.     }

  59.     /** Set covariance identification number.
  60.      * @param covID covariance identification number
  61.      */
  62.     public void setCovID(final String covID) {
  63.         refuseFurtherComments();
  64.         this.covID = covID;
  65.     }

  66.     /** Get identification number of previous covariance.
  67.      * @return identification number of previous covariance
  68.      */
  69.     public String getCovPrevID() {
  70.         return covPrevID;
  71.     }

  72.     /** Set identification number of previous covariance.
  73.      * @param covPrevID identification number of previous covariance
  74.      */
  75.     public void setCovPrevID(final String covPrevID) {
  76.         refuseFurtherComments();
  77.         this.covPrevID = covPrevID;
  78.     }

  79.     /** Get basis of this covariance time history data.
  80.      * @return basis of this covariance time history data
  81.      */
  82.     public String getCovBasis() {
  83.         return covBasis;
  84.     }

  85.     /** Set basis of this covariance time history data.
  86.      * @param covBasis basis of this covariance time history data
  87.      */
  88.     public void setCovBasis(final String covBasis) {
  89.         refuseFurtherComments();
  90.         this.covBasis = covBasis;
  91.     }

  92.     /** Get identification number of the orbit determination or simulation upon which this covariance is based.
  93.      * @return identification number of the orbit determination or simulation upon which this covariance is based
  94.      */
  95.     public String getCovBasisID() {
  96.         return covBasisID;
  97.     }

  98.     /** Set identification number of the orbit determination or simulation upon which this covariance is based.
  99.      * @param covBasisID identification number of the orbit determination or simulation upon which this covariance is based
  100.      */
  101.     public void setCovBasisID(final String covBasisID) {
  102.         refuseFurtherComments();
  103.         this.covBasisID = covBasisID;
  104.     }

  105.     /** Get reference frame of the covariance.
  106.      * @return reference frame of the covariance
  107.      */
  108.     public FrameFacade getCovReferenceFrame() {
  109.         return covReferenceFrame;
  110.     }

  111.     /** Set reference frame of the covariance.
  112.      * @param covReferenceFrame the reference frame to be set
  113.      */
  114.     public void setCovReferenceFrame(final FrameFacade covReferenceFrame) {
  115.         refuseFurtherComments();
  116.         this.covReferenceFrame = covReferenceFrame;
  117.     }

  118.     /** Get covariance element set type.
  119.      * @return covariance element set type
  120.      */
  121.     public AttitudeCovarianceType getCovType() {
  122.         return covType;
  123.     }

  124.     /** Set covariance element set type.
  125.      * @param covType covariance element set type
  126.      */
  127.     public void setCovType(final AttitudeCovarianceType covType) {
  128.         refuseFurtherComments();
  129.         this.covType = covType;
  130.     }

  131. }