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 }