1 /* Copyright 2002-2025 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.gnss.antenna;
18
19 import java.util.Map;
20
21 import org.orekit.gnss.RadioWave;
22 import org.orekit.gnss.SatInSystem;
23 import org.orekit.time.AbsoluteDate;
24
25 /**
26 * GNSS satellite antenna model.
27 *
28 * @author Luc Maisonobe
29 * @since 9.2
30 * @see <a href="ftp://www.igs.org/pub/station/general/antex14.txt">ANTEX: The Antenna Exchange Format, Version 1.4</a>
31 *
32 */
33 public class SatelliteAntenna extends Antenna {
34
35 /** Satellite in system.
36 * @since 13.0
37 */
38 private final SatInSystem satInSystem;
39
40 /** Satellite type.
41 * @since 9.3
42 */
43 private final SatelliteType satelliteType;
44
45 /** Satellite code. */
46 private final int satelliteCode;
47
48 /** COSPAR ID. */
49 private final String cosparID;
50
51 /** Start of validity. */
52 private final AbsoluteDate validFrom;
53
54 /** End of validity. */
55 private final AbsoluteDate validUntil;
56
57 /** Simple constructor.
58 * @param type antenna type
59 * @param sinexCode sinex code
60 * @param patterns frequencies patterns
61 * @param satInSystem satellite in system
62 * @param satelliteType satellite type
63 * @param satelliteCode satellite code
64 * @param cosparID COSPAR ID
65 * @param validFrom start of validity
66 * @param validUntil end of validity
67 */
68 public SatelliteAntenna(final String type, final String sinexCode,
69 final Map<RadioWave, FrequencyPattern> patterns,
70 final SatInSystem satInSystem,
71 final SatelliteType satelliteType, final int satelliteCode,
72 final String cosparID,
73 final AbsoluteDate validFrom, final AbsoluteDate validUntil) {
74 super(type, sinexCode, patterns);
75 this.satInSystem = satInSystem;
76 this.satelliteType = satelliteType;
77 this.satelliteCode = satelliteCode;
78 this.cosparID = cosparID;
79 this.validFrom = validFrom;
80 this.validUntil = validUntil;
81 }
82
83 /** Get satellite in system.
84 * @return satellite in system
85 * @since 13.0
86 */
87 public SatInSystem getSatInSystem() {
88 return satInSystem;
89 }
90
91 /** Get satellite type.
92 * @return satellite type
93 * @since 9.3
94 */
95 public SatelliteType getSatelliteType() {
96 return satelliteType;
97 }
98
99 /** Get satellite code.
100 * @return satellite code
101 */
102 public int getSatelliteCode() {
103 return satelliteCode;
104 }
105
106 /** Get COSPAR ID.
107 * @return COSPAR ID
108 */
109 public String getCosparID() {
110 return cosparID;
111 }
112
113 /** Get start of validity.
114 * @return start of validity
115 */
116 public AbsoluteDate getValidFrom() {
117 return validFrom;
118 }
119
120 /** Get end of validity.
121 * @return end of validity
122 */
123 public AbsoluteDate getValidUntil() {
124 return validUntil;
125 }
126
127 }