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 an IRNSS navigation message.
21 * @author Bryan Cazabonne
22 * @since 11.0
23 */
24 public class IRNSSNavigationMessage extends AbstractNavigationMessage {
25
26 /** Issue of Data, Ephemeris and Clock. */
27 private int iodec;
28
29 /** Group Delay Differential (s). */
30 private double tgd;
31
32 /** User range accuracy (m). */
33 private double ura;
34
35 /** Satellite health status. */
36 private double svHealth;
37
38 /** Constructor. */
39 public IRNSSNavigationMessage() {
40 super(GNSSConstants.IRNSS_MU, GNSSConstants.IRNSS_AV, GNSSConstants.IRNSS_WEEK_NB);
41 }
42
43 /**
44 * Getter for the Issue Of Data Ephemeris and Clock (IODEC).
45 * @return the Issue Of Data Ephemeris and Clock (IODEC)
46 */
47 public int getIODEC() {
48 return iodec;
49 }
50
51 /**
52 * Setter for the Issue of Data, Ephemeris and Clock.
53 * @param value the IODEC to set
54 */
55 public void setIODEC(final double value) {
56 // The value is given as a floating number in the navigation message
57 this.iodec = (int) value;
58 }
59
60 /**
61 * Getter for the estimated group delay differential TGD for L5-S correction.
62 * @return the estimated group delay differential TGD for L5-S correction (s)
63 */
64 public double getTGD() {
65 return tgd;
66 }
67
68 /**
69 * Setter for the Group Delay Differential (s).
70 * @param time the group delay differential to set
71 */
72 public void setTGD(final double time) {
73 this.tgd = time;
74 }
75
76 /**
77 * Getter for the user range accuray (meters).
78 * @return the user range accuracy
79 */
80 public double getURA() {
81 return ura;
82 }
83
84 /**
85 * Setter for the user range accuracy.
86 * @param accuracy the value to set
87 */
88 public void setURA(final double accuracy) {
89 this.ura = accuracy;
90 }
91
92 /**
93 * Getter for the satellite health status.
94 * @return the satellite health status
95 */
96 public double getSvHealth() {
97 return svHealth;
98 }
99
100 /**
101 * Setter for the satellite health status.
102 * @param svHealth the value to set
103 */
104 public void setSvHealth(final double svHealth) {
105 this.svHealth = svHealth;
106 }
107
108 }