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 Galileo navigation message.
21   * @author Bryan Cazabonne
22   * @since 11.0
23   */
24  public class GalileoNavigationMessage extends AbstractNavigationMessage implements GNSSOrbitalElements {
25  
26      /** Issue of Data of the navigation batch. */
27      private int iodNav;
28  
29      /** E1/E5a broadcast group delay (s). */
30      private double bgbE1E5a;
31  
32      /** E5b/E1 broadcast group delay (s). */
33      private double bgdE5bE1;
34  
35      /** Signal in space accuracy. */
36      private double sisa;
37  
38      /** Satellite health status. */
39      private double svHealth;
40  
41      /** Constructor. */
42      public GalileoNavigationMessage() {
43          super(GNSSConstants.GALILEO_MU, GNSSConstants.GALILEO_AV, GNSSConstants.GALILEO_WEEK_NB);
44      }
45  
46      /**
47       * Getter for the the Issue Of Data (IOD).
48       * @return the Issue Of Data (IOD)
49       */
50      public int getIODNav() {
51          return iodNav;
52      }
53  
54      /**
55       * Setter for the Issue of Data of the navigation batch.
56       * @param iod the IOD to set
57       */
58      public void setIODNav(final double iod) {
59          // The value is given as a floating number in the navigation message
60          this.iodNav = (int) iod;
61      }
62  
63      /**
64       * Getter for the E1/E5a broadcast group delay.
65       * @return the E1/E5a broadcast group delay (s)
66       */
67      public double getBGDE1E5a() {
68          return bgbE1E5a;
69      }
70  
71      /**
72       * Setter for the E1/E5a broadcast group delay (s).
73       * @param bgd the E1/E5a broadcast group delay to set
74       */
75      public void setBGDE1E5a(final double bgd) {
76          this.bgbE1E5a = bgd;
77      }
78  
79      /**
80       * Setter for the E5b/E1 broadcast group delay (s).
81       * @param bgd the E5b/E1 broadcast group delay to set
82       */
83      public void setBGDE5bE1(final double bgd) {
84          this.bgdE5bE1 = bgd;
85      }
86  
87      /**
88       * Getter for the the Broadcast Group Delay E5b/E1.
89       * @return the Broadcast Group Delay E5b/E1 (s)
90       */
91      public double getBGDE5bE1() {
92          return bgdE5bE1;
93      }
94  
95      /**
96       * Getter for the signal in space accuracy (m).
97       * @return the signal in space accuracy
98       */
99      public double getSisa() {
100         return sisa;
101     }
102 
103     /**
104      * Setter for the signal in space accuracy.
105      * @param sisa the sisa to set
106      */
107     public void setSisa(final double sisa) {
108         this.sisa = sisa;
109     }
110 
111     /**
112      * Getter for the SV health status.
113      * @return the SV health status
114      */
115     public double getSvHealth() {
116         return svHealth;
117     }
118 
119     /**
120      * Setter for the SV health status.
121      * @param svHealth the SV health status to set
122      */
123     public void setSvHealth(final double svHealth) {
124         this.svHealth = svHealth;
125     }
126 
127 
128 }