SinexBias.java

  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. import org.orekit.gnss.SatInSystem;
  19. import org.orekit.time.AbsoluteDate;
  20. import org.orekit.time.TimeScales;

  21. import java.util.Map;

  22. /**
  23.  * Container for Solution INdependent EXchange (SINEX) files.
  24.  * @author Bryan Cazabonne
  25.  * @author Luc Maisonobe
  26.  * @since 13.0
  27.  */
  28. public class SinexBias extends AbstractSinex {

  29.     /** Bias description. */
  30.     private final BiasDescription description;

  31.     /** DSB data. */
  32.     private final Map<String, StationDifferentialSignalBias> stationsDsb;

  33.     /** DSB data. */
  34.     private final Map<SatInSystem, SatelliteDifferentialSignalBias> satellitesDsb;

  35.     /** OSB data. */
  36.     private final Map<String, StationObservableSpecificSignalBias> stationsOsb;

  37.     /** OSB data. */
  38.     private final Map<SatInSystem, SatelliteObservableSpecificSignalBias> satellitesOsb;

  39.     /** Simple constructor.
  40.      * @param timeScales time scales
  41.      * @param creationDate SINEX file creation date
  42.      * @param startDate start time of the data used in the Sinex solution
  43.      * @param endDate end time of the data used in the Sinex solution
  44.      * @param description bias description
  45.      * @param stationsDsb DSB data for stations
  46.      * @param satellitesDsb DSB data for satellites
  47.      * @param stationsOsb OSB data for stations
  48.      * @param satellitesOsb OSB data for satellites
  49.      */
  50.     public SinexBias(final TimeScales timeScales, final AbsoluteDate creationDate,
  51.                      final AbsoluteDate startDate, final AbsoluteDate endDate,
  52.                      final BiasDescription description,
  53.                      final Map<String, StationDifferentialSignalBias> stationsDsb,
  54.                      final Map<SatInSystem, SatelliteDifferentialSignalBias> satellitesDsb,
  55.                      final Map<String, StationObservableSpecificSignalBias> stationsOsb,
  56.                      final Map<SatInSystem, SatelliteObservableSpecificSignalBias> satellitesOsb) {
  57.         super(timeScales, creationDate, startDate, endDate);
  58.         this.description   = description;
  59.         this.stationsDsb   = stationsDsb;
  60.         this.satellitesDsb = satellitesDsb;
  61.         this.stationsOsb   = stationsOsb;
  62.         this.satellitesOsb = satellitesOsb;
  63.     }

  64.     /** Get the bias description.
  65.      * @return bias description
  66.      */
  67.     public BiasDescription getDescription() {
  68.         return description;
  69.     }

  70.     /** Get the DSB data for stations.
  71.      * @return DSB data for stations, indexed by station site code
  72.      */
  73.     public Map<String, StationDifferentialSignalBias> getStationsDsb() {
  74.         return stationsDsb;
  75.     }

  76.     /** Get the DSB data for satellites.
  77.      * @return DSB data for satellites
  78.      */
  79.     public Map<SatInSystem, SatelliteDifferentialSignalBias> getSatellitesDsb() {
  80.         return satellitesDsb;
  81.     }

  82.     /** Get the OSB data for stations.
  83.      * @return OSB data for stations, indexed by station site code
  84.      */
  85.     public Map<String, StationObservableSpecificSignalBias> getStationsOsb() {
  86.         return stationsOsb;
  87.     }

  88.     /** Get the OSB data for satellites.
  89.      * @return OSB data for satellites
  90.      */
  91.     public Map<SatInSystem, SatelliteObservableSpecificSignalBias> getSatellitesOsb() {
  92.         return satellitesOsb;
  93.     }

  94. }