1 /* Copyright 2002-2026 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 version version number
50 * @param timeScales time scales
51 * @param creationDate SINEX file creation date
52 * @param startDate start time of the data used in the Sinex solution
53 * @param endDate end time of the data used in the Sinex solution
54 * @param description bias description
55 * @param stationsDsb DSB data for stations
56 * @param satellitesDsb DSB data for satellites
57 * @param stationsOsb OSB data for stations
58 * @param satellitesOsb OSB data for satellites
59 * @since 14.0
60 */
61 public SinexBias(final double version, final TimeScales timeScales,
62 final AbsoluteDate creationDate,
63 final AbsoluteDate startDate, final AbsoluteDate endDate,
64 final BiasDescription description,
65 final Map<String, StationDifferentialSignalBias> stationsDsb,
66 final Map<SatInSystem, SatelliteDifferentialSignalBias> satellitesDsb,
67 final Map<String, StationObservableSpecificSignalBias> stationsOsb,
68 final Map<SatInSystem, SatelliteObservableSpecificSignalBias> satellitesOsb) {
69 super(version, timeScales, creationDate, startDate, endDate);
70 this.description = description;
71 this.stationsDsb = stationsDsb;
72 this.satellitesDsb = satellitesDsb;
73 this.stationsOsb = stationsOsb;
74 this.satellitesOsb = satellitesOsb;
75 }
76
77 /** Get the bias description.
78 * @return bias description
79 */
80 public BiasDescription getDescription() {
81 return description;
82 }
83
84 /** Get the DSB data for stations.
85 * @return DSB data for stations, indexed by station site code
86 */
87 public Map<String, StationDifferentialSignalBias> getStationsDsb() {
88 return stationsDsb;
89 }
90
91 /** Get the DSB data for satellites.
92 * @return DSB data for satellites
93 */
94 public Map<SatInSystem, SatelliteDifferentialSignalBias> getSatellitesDsb() {
95 return satellitesDsb;
96 }
97
98 /** Get the OSB data for stations.
99 * @return OSB data for stations, indexed by station site code
100 */
101 public Map<String, StationObservableSpecificSignalBias> getStationsOsb() {
102 return stationsOsb;
103 }
104
105 /** Get the OSB data for satellites.
106 * @return OSB data for satellites
107 */
108 public Map<SatInSystem, SatelliteObservableSpecificSignalBias> getSatellitesOsb() {
109 return satellitesOsb;
110 }
111
112 }