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.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 {
25  
26      /** Issue of Data of the navigation batch. */
27      private int iodNav;
28  
29      /** Data source.
30       * @since 12.0
31       */
32      private int dataSource;
33  
34      /** E1/E5a broadcast group delay (s). */
35      private double bgbE1E5a;
36  
37      /** E5b/E1 broadcast group delay (s). */
38      private double bgdE5bE1;
39  
40      /** Signal in space accuracy. */
41      private double sisa;
42  
43      /** Satellite health status. */
44      private double svHealth;
45  
46      /** Constructor. */
47      public GalileoNavigationMessage() {
48          super(GNSSConstants.GALILEO_MU, GNSSConstants.GALILEO_AV, GNSSConstants.GALILEO_WEEK_NB);
49      }
50  
51      /**
52       * Getter for the the Issue Of Data (IOD).
53       * @return the Issue Of Data (IOD)
54       */
55      public int getIODNav() {
56          return iodNav;
57      }
58  
59      /**
60       * Setter for the Issue of Data of the navigation batch.
61       * @param iod the IOD to set
62       */
63      public void setIODNav(final int iod) {
64          this.iodNav = iod;
65      }
66  
67      /**
68       * Getter for the the data source.
69       * @return the data source
70       * @since 12.0
71       */
72      public int getDataSource() {
73          return dataSource;
74      }
75  
76      /**
77       * Setter for the data source.
78       * @param dataSource data source
79       * @since 12.0
80       */
81      public void setDataSource(final int dataSource) {
82          this.dataSource = dataSource;
83      }
84  
85      /**
86       * Getter for the E1/E5a broadcast group delay.
87       * @return the E1/E5a broadcast group delay (s)
88       */
89      public double getBGDE1E5a() {
90          return bgbE1E5a;
91      }
92  
93      /**
94       * Setter for the E1/E5a broadcast group delay (s).
95       * @param bgd the E1/E5a broadcast group delay to set
96       */
97      public void setBGDE1E5a(final double bgd) {
98          this.bgbE1E5a = bgd;
99      }
100 
101     /**
102      * Setter for the E5b/E1 broadcast group delay (s).
103      * @param bgd the E5b/E1 broadcast group delay to set
104      */
105     public void setBGDE5bE1(final double bgd) {
106         this.bgdE5bE1 = bgd;
107     }
108 
109     /**
110      * Getter for the the Broadcast Group Delay E5b/E1.
111      * @return the Broadcast Group Delay E5b/E1 (s)
112      */
113     public double getBGDE5bE1() {
114         return bgdE5bE1;
115     }
116 
117     /**
118      * Getter for the signal in space accuracy (m).
119      * @return the signal in space accuracy
120      */
121     public double getSisa() {
122         return sisa;
123     }
124 
125     /**
126      * Setter for the signal in space accuracy.
127      * @param sisa the sisa to set
128      */
129     public void setSisa(final double sisa) {
130         this.sisa = sisa;
131     }
132 
133     /**
134      * Getter for the SV health status.
135      * @return the SV health status
136      */
137     public double getSvHealth() {
138         return svHealth;
139     }
140 
141     /**
142      * Setter for the SV health status.
143      * @param svHealth the SV health status to set
144      */
145     public void setSvHealth(final double svHealth) {
146         this.svHealth = svHealth;
147     }
148 
149 }