1 /* Copyright 2022-2026 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 package org.orekit.estimation.measurements.gnss;
18
19 import org.orekit.propagation.SpacecraftState;
20 import org.orekit.time.clocks.ClockOffset;
21 import org.orekit.utils.TimeStampedPVCoordinates;
22
23 /** Common intermediate parameters used to estimate measurements.
24 * @author Luc Maisonobe
25 * @since 12.1
26 */
27 class CommonParametersWithoutDerivatives {
28
29 /** Spacecraft state. */
30 private final SpacecraftState state;
31
32 /** Downlink delay. */
33 private final double tauD;
34
35 /** Clock offset of measured satellite. */
36 private final ClockOffset localOffset;
37
38 /** Clock offset of remote observer. */
39 private final ClockOffset remoteOffset;
40
41 /** Transit state. */
42 private final SpacecraftState transitState;
43
44 /** Transit position/velocity. */
45 private final TimeStampedPVCoordinates transitPV;
46
47 /** Position/velocity of remote observer. */
48 private final TimeStampedPVCoordinates remotePV;
49
50 /** Simple constructor.
51 * @param state spacecraft state
52 * @param tauD downlink delay
53 * @param localOffset measured satellite clock offset
54 * @param remoteOffset clock offset of remote observer
55 * @param transitState transit state of measured satellite
56 * @param transitPV transit position/velocity
57 * @param remotePV position/velocity of remote observer
58 */
59 CommonParametersWithoutDerivatives(final SpacecraftState state, final double tauD,
60 final ClockOffset localOffset, final ClockOffset remoteOffset,
61 final SpacecraftState transitState,
62 final TimeStampedPVCoordinates transitPV,
63 final TimeStampedPVCoordinates remotePV) {
64 this.state = state;
65 this.tauD = tauD;
66 this.localOffset = localOffset;
67 this.remoteOffset = remoteOffset;
68 this.transitState = transitState;
69 this.transitPV = transitPV;
70 this.remotePV = remotePV;
71 }
72
73 /** Get spacecraft state.
74 * @return spacecraft state
75 */
76 public SpacecraftState getState() {
77 return state;
78 }
79
80 /** Get downlink delay.
81 * @return ownlink delay
82 */
83 public double getTauD() {
84 return tauD;
85 }
86
87 /** Get local clock offset.
88 * @return clock offset of measured satellite
89 */
90 public ClockOffset getLocalOffset() {
91 return localOffset;
92 }
93
94 /** Get remote clock offset.
95 * @return clock offset of remote observer
96 */
97 public ClockOffset getRemoteOffset() {
98 return remoteOffset;
99 }
100
101 /** Get transit state.
102 * @return transit state
103 */
104 public SpacecraftState getTransitState() {
105 return transitState;
106 }
107
108 /** Get transit position/velocity.
109 * @return transit position/velocity
110 */
111 public TimeStampedPVCoordinates getTransitPV() {
112 return transitPV;
113 }
114
115 /** Get remote observer position/velocity.
116 * @return remote observer position/velocity
117 */
118 public TimeStampedPVCoordinates getRemotePV() {
119 return remotePV;
120 }
121
122 }