1 /* Copyright 2022-2025 Thales Alenia Space
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.files.rinex.navigation;
18
19 import org.orekit.gnss.SatelliteSystem;
20
21 /** Container for data contained in a ionosphere NavIC Klobuchar message.
22 * @author Luc Maisonobe
23 * @since 14.0
24 */
25 public class IonosphereNavICNeQuickNMessage
26 extends IonosphereBaseMessage {
27
28 /** Issue Of Data. */
29 private int iod;
30
31 /** Region 1. */
32 private final RegionalAij region1;
33
34 /** Region 2. */
35 private final RegionalAij region2;
36
37 /** Region 3. */
38 private final RegionalAij region3;
39
40 /** Simple constructor.
41 * @param system satellite system
42 * @param prn satellite number
43 * @param navigationMessageType navigation message type
44 * @param subType message subtype
45 */
46 public IonosphereNavICNeQuickNMessage(final SatelliteSystem system, final int prn,
47 final String navigationMessageType, final String subType) {
48 super(system, prn, navigationMessageType, subType);
49 region1 = new RegionalAij();
50 region2 = new RegionalAij();
51 region3 = new RegionalAij();
52 }
53
54 /** Get Issue Of Data (IOD).
55 * @return Issue Of Data
56 */
57 public int getIOD() {
58 return iod;
59 }
60
61 /** Set Issue Of Data.
62 * @param issueOfData Issue Of Data
63 */
64 public void setIOD(final double issueOfData) {
65 // The value is given as a floating number in the navigation message
66 this.iod = (int) issueOfData;
67 }
68
69 /** Get the regional aᵢⱼ for region 1.
70 * @return regional aᵢⱼ for region 1
71 */
72 public RegionalAij getRegion1() {
73 return region1;
74 }
75
76 /** Get the regional aᵢⱼ for region 2.
77 * @return regional aᵢⱼ for region 2
78 */
79 public RegionalAij getRegion2() {
80 return region2;
81 }
82
83 /** Get the regional aᵢⱼ for region 1.
84 * @return regional aᵢⱼ for region 1
85 */
86 public RegionalAij getRegion3() {
87 return region3;
88 }
89
90 }