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.sinex;
18
19 import org.orekit.gnss.SatInSystem;
20 import org.orekit.time.AbsoluteDate;
21 import org.orekit.time.TimeScales;
22
23 import java.util.Map;
24
25 /**
26 * Container for Solution INdependent EXchange (SINEX) files.
27 * @author Bryan Cazabonne
28 * @author Luc Maisonobe
29 * @since 13.0
30 */
31 public class SinexBias extends AbstractSinex {
32
33 /** Bias description. */
34 private final BiasDescription description;
35
36 /** DSB data. */
37 private final Map<String, StationDifferentialSignalBias> stationsDsb;
38
39 /** DSB data. */
40 private final Map<SatInSystem, SatelliteDifferentialSignalBias> satellitesDsb;
41
42 /** OSB data. */
43 private final Map<String, StationObservableSpecificSignalBias> stationsOsb;
44
45 /** OSB data. */
46 private final Map<SatInSystem, SatelliteObservableSpecificSignalBias> satellitesOsb;
47
48 /** Simple constructor.
49 * @param timeScales time scales
50 * @param creationDate SINEX file creation date
51 * @param startDate start time of the data used in the Sinex solution
52 * @param endDate end time of the data used in the Sinex solution
53 * @param description bias description
54 * @param stationsDsb DSB data for stations
55 * @param satellitesDsb DSB data for satellites
56 * @param stationsOsb OSB data for stations
57 * @param satellitesOsb OSB data for satellites
58 */
59 public SinexBias(final TimeScales timeScales, final AbsoluteDate creationDate,
60 final AbsoluteDate startDate, final AbsoluteDate endDate,
61 final BiasDescription description,
62 final Map<String, StationDifferentialSignalBias> stationsDsb,
63 final Map<SatInSystem, SatelliteDifferentialSignalBias> satellitesDsb,
64 final Map<String, StationObservableSpecificSignalBias> stationsOsb,
65 final Map<SatInSystem, SatelliteObservableSpecificSignalBias> satellitesOsb) {
66 super(timeScales, creationDate, startDate, endDate);
67 this.description = description;
68 this.stationsDsb = stationsDsb;
69 this.satellitesDsb = satellitesDsb;
70 this.stationsOsb = stationsOsb;
71 this.satellitesOsb = satellitesOsb;
72 }
73
74 /** Get the bias description.
75 * @return bias description
76 */
77 public BiasDescription getDescription() {
78 return description;
79 }
80
81 /** Get the DSB data for stations.
82 * @return DSB data for stations, indexed by station site code
83 */
84 public Map<String, StationDifferentialSignalBias> getStationsDsb() {
85 return stationsDsb;
86 }
87
88 /** Get the DSB data for satellites.
89 * @return DSB data for satellites
90 */
91 public Map<SatInSystem, SatelliteDifferentialSignalBias> getSatellitesDsb() {
92 return satellitesDsb;
93 }
94
95 /** Get the OSB data for stations.
96 * @return OSB data for stations, indexed by station site code
97 */
98 public Map<String, StationObservableSpecificSignalBias> getStationsOsb() {
99 return stationsOsb;
100 }
101
102 /** Get the OSB data for satellites.
103 * @return OSB data for satellites
104 */
105 public Map<SatInSystem, SatelliteObservableSpecificSignalBias> getSatellitesOsb() {
106 return satellitesOsb;
107 }
108
109 }