RtcmCorrectionHeader.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.gnss.metric.messages.rtcm.correction;

  18. import org.orekit.gnss.metric.messages.common.SsrUpdateInterval;

  19. /**
  20.  * Container for common data in RTCM Correction Message type header.
  21.  * @author Bryan Cazabonne
  22.  * @since 12.0
  23.  */
  24. public class RtcmCorrectionHeader {

  25.     /** SSR Epoch Time 1s. */
  26.     private double epochTime1s;

  27.     /** SSR Update Interval. */
  28.     private SsrUpdateInterval ssrUpdateInterval;

  29.     /** Multiple Message Indicator. */
  30.     private int multipleMessageIndicator;

  31.     /** IOD SSR. */
  32.     private int iodSsr;

  33.     /** SSR Provider ID. */
  34.     private int ssrProviderId;

  35.     /** SSR Solution ID. */
  36.     private int ssrSolutionId;

  37.     /** Number of satellites. */
  38.     private int numberOfSatellites;

  39.     /** Constructor. */
  40.     public RtcmCorrectionHeader() {
  41.         // Nothing to do ...
  42.     }

  43.     /**
  44.      * Get the Epoch Time 1s.
  45.      * <p>
  46.      * Full seconds since the beginning of the GNSS week for
  47.      * or full seconds since the beginning of GLONASS day
  48.      * </p>
  49.      * @return the Epoch Time 1s in seconds
  50.      */
  51.     public double getEpochTime1s() {
  52.         return epochTime1s;
  53.     }

  54.     /**
  55.      * Set the Epoch Time 1s.
  56.      * @param epochTime1s the Epoch Time 1s to set
  57.      */
  58.     public void setEpochTime1s(final double epochTime1s) {
  59.         this.epochTime1s = epochTime1s;
  60.     }

  61.     /**
  62.      * Get the SSR Update Interval.
  63.      * @return the SSR Update Interval
  64.      */
  65.     public SsrUpdateInterval getSsrUpdateInterval() {
  66.         return ssrUpdateInterval;
  67.     }

  68.     /**
  69.      * Set the SSR Update Interval.
  70.      * @param ssrUpdateInterval the SSR Update Interval to set
  71.      */
  72.     public void setSsrUpdateInterval(final SsrUpdateInterval ssrUpdateInterval) {
  73.         this.ssrUpdateInterval = ssrUpdateInterval;
  74.     }

  75.     /**
  76.      * Get the Multiple Message Indicator.
  77.      * <p>
  78.      * 0 - Last message of a sequence. 1 - Multiple message transmitted
  79.      * </p>
  80.      * @return the SSR Multiple Message Indicator
  81.      */
  82.     public int getMultipleMessageIndicator() {
  83.         return multipleMessageIndicator;
  84.     }

  85.     /**
  86.      * Set the Multiple Message Indicator.
  87.      * @param multipleMessageIndicator the Multiple Message Indicator to set
  88.      */
  89.     public void setMultipleMessageIndicator(final int multipleMessageIndicator) {
  90.         this.multipleMessageIndicator = multipleMessageIndicator;
  91.     }

  92.     /**
  93.      * Get the IOD SSR.
  94.      * <p>
  95.      * A change of Issue of Data SSR is used to
  96.      * indicate a change in the SSR generating configuration.
  97.      * </p>
  98.      * @return the IOD SSR
  99.      */
  100.     public int getIodSsr() {
  101.         return iodSsr;
  102.     }

  103.     /**
  104.      * Set the IOD SSR.
  105.      * @param iodSsr the IOF SSR to set
  106.      */
  107.     public void setIodSsr(final int iodSsr) {
  108.         this.iodSsr = iodSsr;
  109.     }

  110.     /**
  111.      * Get the SSR Provider ID.
  112.      * @return the SSR Provider ID
  113.      */
  114.     public int getSsrProviderId() {
  115.         return ssrProviderId;
  116.     }

  117.     /**
  118.      * Set the SSR Provider ID.
  119.      * @param ssrProviderId the SSR Provider ID to set
  120.      */
  121.     public void setSsrProviderId(final int ssrProviderId) {
  122.         this.ssrProviderId = ssrProviderId;
  123.     }

  124.     /**
  125.      * Get the SSR Solution ID.
  126.      * @return the SSR Solution ID
  127.      */
  128.     public int getSsrSolutionId() {
  129.         return ssrSolutionId;
  130.     }

  131.     /**
  132.      * Set the SSR Solution ID.
  133.      * @param ssrSolutionId the SSR Solution ID to set
  134.      */
  135.     public void setSsrSolutionId(final int ssrSolutionId) {
  136.         this.ssrSolutionId = ssrSolutionId;
  137.     }

  138.     /**
  139.      * Get the number of satellites for the current IGM message.
  140.      * @return the number of satellites for the current IGM message
  141.      */
  142.     public int getNumberOfSatellites() {
  143.         return numberOfSatellites;
  144.     }

  145.     /**
  146.      * Set the number of satellites for the current IGM message.
  147.      * @param numberOfSatellites the number of satellites to set
  148.      */
  149.     public void setNumberOfSatellites(final int numberOfSatellites) {
  150.         this.numberOfSatellites = numberOfSatellites;
  151.     }

  152. }