1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.estimation.sequential;
18
19 import org.hipparchus.linear.RealMatrix;
20 import org.hipparchus.linear.RealVector;
21 import org.orekit.errors.OrekitIllegalArgumentException;
22 import org.orekit.errors.OrekitMessages;
23 import org.orekit.time.AbsoluteDate;
24 import org.orekit.time.TimeStamped;
25
26
27
28
29
30
31
32
33
34 public class PhysicalEstimatedState implements TimeStamped {
35
36
37 private final AbsoluteDate date;
38
39
40 private final RealVector state;
41
42
43 private final RealMatrix covarianceMatrix;
44
45 public PhysicalEstimatedState(final AbsoluteDate date,
46 final RealVector state,
47 final RealMatrix covarianceMatrix) {
48 this.date = date;
49 this.state = state;
50 this.covarianceMatrix = covarianceMatrix;
51
52 final int dim = state.getDimension();
53 if (!covarianceMatrix.isSquare()) {
54 throw new OrekitIllegalArgumentException(OrekitMessages.COVARIANCE_MUST_BE_SQUARE);
55 }
56 if (covarianceMatrix.getRowDimension() != dim) {
57 throw new OrekitIllegalArgumentException(OrekitMessages.INCONSISTENT_STATE_DIMENSIONS,
58 dim, covarianceMatrix.getRowDimension());
59 }
60 }
61
62
63 @Override
64 public AbsoluteDate getDate() {
65 return date;
66 }
67
68
69
70
71 public RealVector getState() {
72 return state;
73 }
74
75
76
77
78 public RealMatrix getCovarianceMatrix() {
79 return covarianceMatrix;
80 }
81 }