DcbDescription.java

  1. /* Copyright 2002-2024 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.TimeSystem;

  19. /**
  20.  * Class to store the DCB description parameters.
  21.  * <p>
  22.  * This class gives important parameters from the analysis and defines the fields in the block ’BIAS/SOLUTION’
  23.  * of the loaded Sinex file.
  24.  * </p>
  25.  * @author Louis Aucouturier
  26.  * @since 12.0
  27.  */
  28. public class DcbDescription {

  29.     /** Determination mode used to generate the bias results. */
  30.     private String determinationMethod;

  31.     /** Describes how the included GNSS bias values have to be interpreted and applied. */
  32.     private String biasMode;

  33.     /** Time system. */
  34.     private TimeSystem timeSystem;

  35.     /** Observation sampling interval used for data analysis (s). */
  36.     private int observationSampling;

  37.     /** Parameter spacing interval between the bias value (s). */
  38.     private int parameterSpacing;

  39.     /** Simple constructor. */
  40.     public DcbDescription() {
  41.         this.determinationMethod = "";
  42.         this.observationSampling = -1;
  43.         this.parameterSpacing    = -1;
  44.     }

  45.     /**
  46.      * Get the determination mode used to generate the bias results.
  47.      * <p>
  48.      * This value is optional. If the value is not present in the file, the method returns an empty string.
  49.      * </p>
  50.      * @return the determination mode used to generate the bias results.
  51.      */
  52.     public final String getDeterminationMethod() {
  53.         return determinationMethod;
  54.     }

  55.     /**
  56.      * Get the bias mode
  57.      * <p>
  58.      * The bias mode describes how the included GNSS bias values have to be interpreted and applied.
  59.      * </p>
  60.      * @return the bias mode
  61.      */
  62.     public final String getBiasMode() {
  63.         return biasMode;
  64.     }

  65.     /**
  66.      * Get the time system for DCB data.
  67.      *
  68.      * @return the time system
  69.      */
  70.     public final TimeSystem getTimeSystem() {
  71.         return timeSystem;
  72.     }

  73.     /**
  74.      * Get the observation sampling interval used for data analysis.
  75.      * <p>
  76.      * This value is optional. If the value is not present in the file, the method returns -1.
  77.      * </p>
  78.      * @return the observation sampling interval used for data analysis in seconds
  79.      */
  80.     public final int getObservationSampling() {
  81.         return observationSampling;
  82.     }

  83.     /**
  84.      * Get the parameter spacing interval between the bias value.
  85.      * <p>
  86.      * This value is optional. If the value is not present in the file, the method returns -1.
  87.      * </p>
  88.      * @return the pParameter spacing interval between the bias value in seconds
  89.      */
  90.     public final int getParameterSpacing() {
  91.         return parameterSpacing;
  92.     }

  93.     /**
  94.      * Set the determination mode used to generate the bias results.
  95.      *
  96.      * @param determinationMethod the determination method to set
  97.      */
  98.     public void setDeterminationMethod(final String determinationMethod) {
  99.         this.determinationMethod = determinationMethod;
  100.     }

  101.     /**
  102.      * Set the bias mode.
  103.      *
  104.      * @param biasMode the bias mode to set
  105.      */
  106.     public void setBiasMode(final String biasMode) {
  107.         this.biasMode = biasMode;
  108.     }

  109.     /**
  110.      * Set the time system used for DCB data.
  111.      *
  112.      * @param timeSystem the time system to set
  113.      */
  114.     public void setTimeSystem(final TimeSystem timeSystem) {
  115.         this.timeSystem = timeSystem;
  116.     }

  117.     /**
  118.      * Set the observation sampling interval used for data analysis.
  119.      *
  120.      * @param observationSampling the observation sampling to set in seconds
  121.      */
  122.     public void setObservationSampling(final int observationSampling) {
  123.         this.observationSampling = observationSampling;
  124.     }

  125.     /**
  126.      * Set the parameter spacing interval between the bias value.
  127.      *
  128.      * @param parameterSpacing the parameter spacing to set in seconds
  129.      */
  130.     public void setParameterSpacing(final int parameterSpacing) {
  131.         this.parameterSpacing = parameterSpacing;
  132.     }

  133. }