1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.sp3;
18
19 import org.hipparchus.geometry.euclidean.threed.Vector3D;
20 import org.orekit.time.AbsoluteDate;
21 import org.orekit.utils.TimeStampedPVCoordinates;
22
23
24
25
26
27
28
29 public class SP3Coordinate extends TimeStampedPVCoordinates {
30
31
32 public static final SP3Coordinate DUMMY = new SP3Coordinate(AbsoluteDate.ARBITRARY_EPOCH,
33 Vector3D.ZERO, null, Vector3D.ZERO, null,
34 SP3Utils.CLOCK_UNIT.toSI(SP3Utils.DEFAULT_CLOCK_VALUE),
35 Double.NaN,
36 SP3Utils.CLOCK_RATE_UNIT.toSI(SP3Utils.DEFAULT_CLOCK_RATE_VALUE),
37 Double.NaN,
38 false, false, false, false);
39
40
41 private static final long serialVersionUID = 20230903L;
42
43
44 private final double clock;
45
46
47 private final double clockRate;
48
49
50 private final Vector3D positionAccuracy;
51
52
53 private final Vector3D velocityAccuracy;
54
55
56 private final double clockAccuracy;
57
58
59 private final double clockRateAccuracy;
60
61
62 private final boolean clockEvent;
63
64
65 private final boolean clockPrediction;
66
67
68 private final boolean orbitManeuverEvent;
69
70
71 private final boolean orbitPrediction;
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 public SP3Coordinate(final AbsoluteDate date,
89 final Vector3D position, final Vector3D positionAccuracy,
90 final Vector3D velocity, final Vector3D velocityAccuracy,
91 final double clock, final double clockAccuracy,
92 final double clockRate, final double clockRateAccuracy,
93 final boolean clockEvent, final boolean clockPrediction,
94 final boolean orbitManeuverEvent, final boolean orbitPrediction) {
95
96 super(date, position, velocity, Vector3D.ZERO);
97 this.clock = clock;
98 this.clockRate = clockRate;
99
100 this.positionAccuracy = positionAccuracy;
101 this.velocityAccuracy = velocityAccuracy;
102 this.clockAccuracy = clockAccuracy;
103 this.clockRateAccuracy = clockRateAccuracy;
104 this.clockEvent = clockEvent;
105 this.clockPrediction = clockPrediction;
106 this.orbitManeuverEvent = orbitManeuverEvent;
107 this.orbitPrediction = orbitPrediction;
108
109 }
110
111
112
113
114 public double getClockCorrection() {
115 return clock;
116 }
117
118
119
120
121 public double getClockRateChange() {
122 return clockRate;
123 }
124
125
126
127
128 public Vector3D getPositionAccuracy() {
129 return positionAccuracy;
130 }
131
132
133
134
135 public Vector3D getVelocityAccuracy() {
136 return velocityAccuracy;
137 }
138
139
140
141
142 public double getClockAccuracy() {
143 return clockAccuracy;
144 }
145
146
147
148
149 public double getClockRateAccuracy() {
150 return clockRateAccuracy;
151 }
152
153
154
155
156 public boolean hasClockEvent() {
157 return clockEvent;
158 }
159
160
161
162
163 public boolean hasClockPrediction() {
164 return clockPrediction;
165 }
166
167
168
169
170 public boolean hasOrbitManeuverEvent() {
171 return orbitManeuverEvent;
172 }
173
174
175
176
177 public boolean hasOrbitPrediction() {
178 return orbitPrediction;
179 }
180
181 }