1 /* Copyright 2002-2025 CS GROUP
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 java.util.Collections;
20 import java.util.List;
21
22 import org.orekit.gnss.SatelliteSystem;
23 import org.orekit.time.AbsoluteDate;
24 import org.orekit.time.TimeStamped;
25
26 /**
27 * Combined observation data set.
28 * @author Bryan Cazabonne
29 * @since 10.1
30 */
31 public class CombinedObservationDataSet implements TimeStamped {
32
33 /** Satellite System. */
34 private final SatelliteSystem satelliteSystem;
35
36 /** PRN Number of the satellite observed. */
37 private final int prnNumber;
38
39 /** Date of the observation. */
40 private final AbsoluteDate tObs;
41
42 /** List of Observation data. */
43 private final List<CombinedObservationData> observationData;
44
45 /** Receiver clock offset (seconds). */
46 private final double rcvrClkOffset;
47
48 /**
49 * Simple constructor.
50 * @param satelliteSystem Satellite system
51 * @param prnNumber PRN number
52 * @param tObs Observation date
53 * @param rcvrClkOffset Receiver clock offset (optional, 0 by default)
54 * @param observationData List of combined observation data
55 */
56 public CombinedObservationDataSet(final SatelliteSystem satelliteSystem,
57 final int prnNumber, final AbsoluteDate tObs,
58 final double rcvrClkOffset, final List<CombinedObservationData> observationData) {
59 this.satelliteSystem = satelliteSystem;
60 this.prnNumber = prnNumber;
61 this.tObs = tObs;
62 this.observationData = observationData;
63 this.rcvrClkOffset = rcvrClkOffset;
64 }
65
66 /** Get Satellite System.
67 * @return satellite system of observed satellite
68 */
69 public SatelliteSystem getSatelliteSystem() {
70 return satelliteSystem;
71 }
72
73 /** Get PRN number.
74 * @return PRN number of the observed satellite
75 */
76 public int getPrnNumber() {
77 return prnNumber;
78 }
79
80 /** {@inheritDoc} */
81 @Override
82 public AbsoluteDate getDate() {
83 return tObs;
84 }
85
86 /** Get list of observation data.
87 * @return unmodifiable view of of observation data for the observed satellite
88 */
89 public List<CombinedObservationData> getObservationData() {
90 return Collections.unmodifiableList(observationData);
91 }
92
93 /** Get receiver clock offset.
94 * @return receiver clock offset (it is optional, may be 0)
95 */
96 public double getRcvrClkOffset() {
97 return rcvrClkOffset;
98 }
99
100 }