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
18 package org.orekit.files.ccsds.ndm.adm.acm;
19
20 import org.orekit.files.ccsds.definitions.FrameFacade;
21 import org.orekit.files.ccsds.section.CommentsContainer;
22
23 /** Metadata for covariance history.
24 * @author Luc Maisonobe
25 * @since 12.0
26 */
27 public class AttitudeCovarianceHistoryMetadata extends CommentsContainer {
28
29 /** Covariance identification number. */
30 private String covID;
31
32 /** Identification number of previous covariance. */
33 private String covPrevID;
34
35 /** Basis of this covariance time history data. */
36 private String covBasis;
37
38 /** Identification number of the covariance determination or simulation upon which this covariance is based. */
39 private String covBasisID;
40
41 /** Reference frame of the covariance. */
42 private FrameFacade covReferenceFrame;
43
44 /** Covariance element set type. */
45 private AttitudeCovarianceType covType;
46
47 /** Empty constructor.
48 * <p>
49 * This constructor is not strictly necessary, but it prevents spurious
50 * javadoc warnings with JDK 18 and later.
51 * </p>
52 * @since 12.0
53 */
54 public AttitudeCovarianceHistoryMetadata() {
55 // nothing to do
56 }
57
58 /** {@inheritDoc} */
59 @Override
60 public void validate(final double version) {
61 super.validate(version);
62 checkNotNull(covType, AttitudeCovarianceHistoryMetadataKey.COV_TYPE.name());
63 }
64
65 /** Get covariance identification number.
66 * @return covariance identification number
67 */
68 public String getCovID() {
69 return covID;
70 }
71
72 /** Set covariance identification number.
73 * @param covID covariance identification number
74 */
75 public void setCovID(final String covID) {
76 refuseFurtherComments();
77 this.covID = covID;
78 }
79
80 /** Get identification number of previous covariance.
81 * @return identification number of previous covariance
82 */
83 public String getCovPrevID() {
84 return covPrevID;
85 }
86
87 /** Set identification number of previous covariance.
88 * @param covPrevID identification number of previous covariance
89 */
90 public void setCovPrevID(final String covPrevID) {
91 refuseFurtherComments();
92 this.covPrevID = covPrevID;
93 }
94
95 /** Get basis of this covariance time history data.
96 * @return basis of this covariance time history data
97 */
98 public String getCovBasis() {
99 return covBasis;
100 }
101
102 /** Set basis of this covariance time history data.
103 * @param covBasis basis of this covariance time history data
104 */
105 public void setCovBasis(final String covBasis) {
106 refuseFurtherComments();
107 this.covBasis = covBasis;
108 }
109
110 /** Get identification number of the orbit determination or simulation upon which this covariance is based.
111 * @return identification number of the orbit determination or simulation upon which this covariance is based
112 */
113 public String getCovBasisID() {
114 return covBasisID;
115 }
116
117 /** Set identification number of the orbit determination or simulation upon which this covariance is based.
118 * @param covBasisID identification number of the orbit determination or simulation upon which this covariance is based
119 */
120 public void setCovBasisID(final String covBasisID) {
121 refuseFurtherComments();
122 this.covBasisID = covBasisID;
123 }
124
125 /** Get reference frame of the covariance.
126 * @return reference frame of the covariance
127 */
128 public FrameFacade getCovReferenceFrame() {
129 return covReferenceFrame;
130 }
131
132 /** Set reference frame of the covariance.
133 * @param covReferenceFrame the reference frame to be set
134 */
135 public void setCovReferenceFrame(final FrameFacade covReferenceFrame) {
136 refuseFurtherComments();
137 this.covReferenceFrame = covReferenceFrame;
138 }
139
140 /** Get covariance element set type.
141 * @return covariance element set type
142 */
143 public AttitudeCovarianceType getCovType() {
144 return covType;
145 }
146
147 /** Set covariance element set type.
148 * @param covType covariance element set type
149 */
150 public void setCovType(final AttitudeCovarianceType covType) {
151 refuseFurtherComments();
152 this.covType = covType;
153 }
154
155 }