1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.ccsds.ndm.cdm;
18
19 import java.util.List;
20
21 import org.orekit.files.ccsds.ndm.odm.UserDefined;
22 import org.orekit.files.ccsds.section.CommentsContainer;
23 import org.orekit.files.ccsds.section.Data;
24
25
26
27
28
29
30 public class CdmData implements Data {
31
32
33 private final CommentsContainer commentsBlock;
34
35
36 private ODParameters ODParametersBlock;
37
38
39 private AdditionalParameters additionalParametersBlock;
40
41
42 private final StateVector stateVectorBlock;
43
44
45 private RTNCovariance covarianceMatrixBlock;
46
47
48 private final XYZCovariance xyzCovarianceMatrixBlock;
49
50
51 private final SigmaEigenvectorsCovariance sig3EigVec3CovarianceBlock;
52
53
54 private AltCovarianceType altCovarianceType;
55
56
57 private AdditionalCovarianceMetadata additionalCovMetadata;
58
59
60 private UserDefined userDefinedBlock;
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 private CdmData(final CommentsContainer commentsBlock,
78 final ODParameters ODParametersBlock,
79 final AdditionalParameters additionalParametersBlock,
80 final StateVector stateVectorBlock,
81 final RTNCovariance covarianceMatrixBlock,
82 final XYZCovariance xyzCovarianceBlock,
83 final SigmaEigenvectorsCovariance sig3EigVec3CovarianceBlock,
84 final AltCovarianceType altCovarianceType,
85 final AdditionalCovarianceMetadata additionalCovMetadata) {
86 this.commentsBlock = commentsBlock;
87 this.ODParametersBlock = ODParametersBlock;
88 this.additionalParametersBlock = additionalParametersBlock;
89 this.stateVectorBlock = stateVectorBlock;
90 this.covarianceMatrixBlock = covarianceMatrixBlock;
91 this.xyzCovarianceMatrixBlock = xyzCovarianceBlock;
92 this.sig3EigVec3CovarianceBlock = sig3EigVec3CovarianceBlock;
93 this.altCovarianceType = altCovarianceType;
94 this.additionalCovMetadata = additionalCovMetadata;
95 this.userDefinedBlock = null;
96 }
97
98
99
100
101
102
103
104
105
106 public CdmData(final CommentsContainer commentsBlock,
107 final ODParameters ODParametersBlock,
108 final AdditionalParameters additionalParametersBlock,
109 final StateVector stateVectorBlock,
110 final RTNCovariance covarianceMatrixBlock) {
111 this(commentsBlock, ODParametersBlock, additionalParametersBlock, stateVectorBlock,
112 covarianceMatrixBlock, null, null, null, null);
113 }
114
115
116
117
118
119
120
121
122
123 public CdmData(final CommentsContainer commentsBlock,
124 final ODParameters ODParametersBlock,
125 final AdditionalParameters additionalParametersBlock,
126 final StateVector stateVectorBlock,
127 final RTNCovariance covarianceMatrixBlock,
128 final AdditionalCovarianceMetadata additionalCovMetadata) {
129 this(commentsBlock, ODParametersBlock, additionalParametersBlock, stateVectorBlock,
130 covarianceMatrixBlock, null, null, null, additionalCovMetadata);
131 }
132
133
134
135
136
137
138
139
140
141
142 public CdmData(final CommentsContainer commentsBlock,
143 final ODParameters ODParametersBlock,
144 final AdditionalParameters additionalParametersBlock,
145 final StateVector stateVectorBlock,
146 final RTNCovariance covarianceMatrixBlock,
147 final XYZCovariance xyzCovarianceBlock,
148 final AdditionalCovarianceMetadata additionalCovMetadata) {
149 this(commentsBlock, ODParametersBlock, additionalParametersBlock, stateVectorBlock,
150 covarianceMatrixBlock, xyzCovarianceBlock, null, AltCovarianceType.XYZ, additionalCovMetadata);
151 }
152
153
154
155
156
157
158
159
160
161
162 public CdmData(final CommentsContainer commentsBlock,
163 final ODParameters ODParametersBlock,
164 final AdditionalParameters additionalParametersBlock,
165 final StateVector stateVectorBlock,
166 final RTNCovariance covarianceMatrixBlock,
167 final SigmaEigenvectorsCovariance sig3EigVec3CovarianceBlock,
168 final AdditionalCovarianceMetadata additionalCovMetadata) {
169 this(commentsBlock, ODParametersBlock, additionalParametersBlock, stateVectorBlock,
170 covarianceMatrixBlock, null, sig3EigVec3CovarianceBlock, AltCovarianceType.CSIG3EIGVEC3, additionalCovMetadata);
171 }
172
173
174 @Override
175 public void validate(final double version) {
176 if (ODParametersBlock != null) {
177 ODParametersBlock.validate(version);
178 }
179 if (additionalParametersBlock != null) {
180 additionalParametersBlock.validate(version);
181 }
182 stateVectorBlock.validate(version);
183
184
185 if (altCovarianceType == null) {
186 covarianceMatrixBlock.validate(version);
187 } else if (altCovarianceType == AltCovarianceType.XYZ) {
188 xyzCovarianceMatrixBlock.validate(version);
189 } else if (altCovarianceType == AltCovarianceType.CSIG3EIGVEC3) {
190 sig3EigVec3CovarianceBlock.validate(version);
191 }
192
193 }
194
195
196
197
198 public List<String> getComments() {
199 return commentsBlock.getComments();
200 }
201
202
203
204
205 public ODParameters getODParametersBlock() {
206 return ODParametersBlock;
207 }
208
209
210
211
212 public void setODParametersBlock(final ODParameters ODParametersBlock) {
213 this.ODParametersBlock = ODParametersBlock;
214 }
215
216
217
218
219 public AdditionalParameters getAdditionalParametersBlock() {
220 return additionalParametersBlock;
221 }
222
223
224
225
226 public void setAdditionalParametersBlock(final AdditionalParameters additionalParametersBlock) {
227 this.additionalParametersBlock = additionalParametersBlock;
228 }
229
230
231
232
233 public StateVector getStateVectorBlock() {
234 return stateVectorBlock;
235 }
236
237
238
239
240
241
242 public RTNCovariance getRTNCovarianceBlock() {
243 return covarianceMatrixBlock;
244 }
245
246
247
248
249
250
251 public XYZCovariance getXYZCovarianceBlock() {
252 return xyzCovarianceMatrixBlock;
253 }
254
255
256
257
258
259
260 public SigmaEigenvectorsCovariance getSig3EigVec3CovarianceBlock() {
261 return sig3EigVec3CovarianceBlock;
262 }
263
264
265
266
267
268 public AdditionalCovarianceMetadata getAdditionalCovMetadataBlock() {
269 return additionalCovMetadata;
270 }
271
272
273
274
275 public void setCovarianceMatrixBlock(final RTNCovariance covarianceMatrixBlock) {
276 this.covarianceMatrixBlock = covarianceMatrixBlock;
277 }
278
279
280
281
282
283 public UserDefined getUserDefinedBlock() {
284 return userDefinedBlock;
285 }
286
287
288
289
290
291 public void setUserDefinedBlock(final UserDefined userDefinedBlock) {
292 this.userDefinedBlock = userDefinedBlock;
293 }
294 }
295