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.files.rinex.observation;
18
19 import java.util.Collections;
20 import java.util.List;
21
22 import org.orekit.gnss.SatInSystem;
23 import org.orekit.time.AbsoluteDate;
24 import org.orekit.time.TimeStamped;
25
26
27 /** Observation Data set.
28 * @since 9.2
29 */
30 public class ObservationDataSet implements TimeStamped {
31
32 /** Observed satellite. */
33 private final SatInSystem satellite;
34
35 /** Date of the observation. */
36 private final AbsoluteDate tObs;
37
38 /** Event flag.
39 * @since 12.0
40 */
41 private final int eventFlag;
42
43 /** List of Observation data. */
44 private final List<ObservationData> observationData;
45
46 /** Receiver clock offset (seconds). */
47 private final double rcvrClkOffset;
48
49 /**
50 * Simple constructor.
51 * @param satellite observed satellite
52 * @param tObs Observation date
53 * @param eventFlag event flag
54 * @param rcvrClkOffset Receiver clock offset (optional, 0 by default)
55 * @param observationData List of observation data
56 * @since 12.0
57 */
58 public ObservationDataSet(final SatInSystem satellite, final AbsoluteDate tObs, final int eventFlag,
59 final double rcvrClkOffset, final List<ObservationData> observationData) {
60 this.satellite = satellite;
61 this.tObs = tObs;
62 this.eventFlag = eventFlag;
63 this.observationData = observationData;
64 this.rcvrClkOffset = rcvrClkOffset;
65 }
66
67 /** Get observed satellite.
68 * @return observed satellite
69 * @since 12.0
70 */
71 public SatInSystem getSatellite() {
72 return satellite;
73 }
74
75 /** {@inheritDoc} */
76 @Override
77 public AbsoluteDate getDate() {
78 return tObs;
79 }
80
81 /** Get the event flag.
82 * @return event flag
83 * @since 12.0
84 */
85 public int getEventFlag() {
86 return eventFlag;
87 }
88
89 /** Get list of observation data.
90 * @return unmodifiable view of observation data for the observed satellite
91 */
92 public List<ObservationData> getObservationData() {
93 return Collections.unmodifiableList(observationData);
94 }
95
96 /** Get receiver clock offset.
97 * @return receiver clock offset (it is optional, may be 0)
98 */
99 public double getRcvrClkOffset() {
100 return rcvrClkOffset;
101 }
102
103 }