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 final double clock;
42
43
44 private final double clockRate;
45
46
47 private final Vector3D positionAccuracy;
48
49
50 private final Vector3D velocityAccuracy;
51
52
53 private final double clockAccuracy;
54
55
56 private final double clockRateAccuracy;
57
58
59 private final boolean clockEvent;
60
61
62 private final boolean clockPrediction;
63
64
65 private final boolean orbitManeuverEvent;
66
67
68 private final boolean orbitPrediction;
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 public SP3Coordinate(final AbsoluteDate date,
86 final Vector3D position, final Vector3D positionAccuracy,
87 final Vector3D velocity, final Vector3D velocityAccuracy,
88 final double clock, final double clockAccuracy,
89 final double clockRate, final double clockRateAccuracy,
90 final boolean clockEvent, final boolean clockPrediction,
91 final boolean orbitManeuverEvent, final boolean orbitPrediction) {
92
93 super(date, position, velocity, Vector3D.ZERO);
94 this.clock = clock;
95 this.clockRate = clockRate;
96
97 this.positionAccuracy = positionAccuracy;
98 this.velocityAccuracy = velocityAccuracy;
99 this.clockAccuracy = clockAccuracy;
100 this.clockRateAccuracy = clockRateAccuracy;
101 this.clockEvent = clockEvent;
102 this.clockPrediction = clockPrediction;
103 this.orbitManeuverEvent = orbitManeuverEvent;
104 this.orbitPrediction = orbitPrediction;
105
106 }
107
108
109
110
111 public double getClockCorrection() {
112 return clock;
113 }
114
115
116
117
118 public double getClockRateChange() {
119 return clockRate;
120 }
121
122
123
124
125 public Vector3D getPositionAccuracy() {
126 return positionAccuracy;
127 }
128
129
130
131
132 public Vector3D getVelocityAccuracy() {
133 return velocityAccuracy;
134 }
135
136
137
138
139 public double getClockAccuracy() {
140 return clockAccuracy;
141 }
142
143
144
145
146 public double getClockRateAccuracy() {
147 return clockRateAccuracy;
148 }
149
150
151
152
153 public boolean hasClockEvent() {
154 return clockEvent;
155 }
156
157
158
159
160 public boolean hasClockPrediction() {
161 return clockPrediction;
162 }
163
164
165
166
167 public boolean hasOrbitManeuverEvent() {
168 return orbitManeuverEvent;
169 }
170
171
172
173
174 public boolean hasOrbitPrediction() {
175 return orbitPrediction;
176 }
177
178 }