1   /* Copyright 2002-2021 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.propagation.analytical.gnss.data;
18  
19  /**
20   * Container for data contained in a Glonass navigation message.
21   * @author Bryan Cazabonne
22   * @since 11.0
23   */
24  public class GLONASSNavigationMessage extends AbstractEphemerisMessage implements GLONASSOrbitalElements {
25  
26      /** Message frame time. */
27      private double time;
28  
29      /** SV clock bias. */
30      private double tauN;
31  
32      /** SV relative frequency bias. */
33      private double gammaN;
34  
35      /** Frequency number. */
36      private int frequencyNumber;
37  
38      /** Constructor. */
39      public GLONASSNavigationMessage() {
40          // Nothing to do ...
41      }
42  
43      /** {@inheritDoc} */
44      @Override
45      public double getTN() {
46          return tauN;
47      }
48  
49      /**
50       * Setter for the SV clock bias.
51       * @param tn the SV clock bias
52       */
53      public void setTauN(final double tn) {
54          this.tauN = tn;
55      }
56  
57      /** {@inheritDoc} */
58      @Override
59      public double getGammaN() {
60          return gammaN;
61      }
62  
63      /**
64       * Setter for the SV relative frequency bias.
65       * @param gammaN the SV relative frequency bias.
66       */
67      public void setGammaN(final double gammaN) {
68          this.gammaN = gammaN;
69      }
70  
71      /**
72       * Getter for the frequency number.
73       * @return the frequency number
74       */
75      public int getFrequencyNumber() {
76          return frequencyNumber;
77      }
78  
79      /**
80       * Setter for the frequency number.
81       * @param frequencyNumber the number to set
82       */
83      public void setFrequencyNumber(final double frequencyNumber) {
84          this.frequencyNumber = (int) frequencyNumber;
85      }
86  
87      /** {@inheritDoc} */
88      @Override
89      public double getTime() {
90          return time;
91      }
92  
93      /**
94       * Setter for the message frame time.
95       * @param time the time to set
96       */
97      public void setTime(final double time) {
98          this.time = time;
99      }
100 
101 }