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.propagation.analytical.gnss.data; 18 19 import org.orekit.propagation.analytical.gnss.SBASPropagator; 20 import org.orekit.time.TimeStamped; 21 22 /** This interface provides the minimal set of orbital elements needed by the {@link SBASPropagator}. 23 * 24 * @author Bryan Cazabonne 25 * @since 10.1 26 * 27 */ 28 public interface SBASOrbitalElements extends TimeStamped { 29 30 /** 31 * Gets the PRN number of the SBAS satellite. 32 * 33 * @return the PRN number of the SBAS satellite 34 */ 35 int getPRN(); 36 37 /** 38 * Gets the Reference Week of the SBAS orbit. 39 * 40 * @return the Reference Week of the SBAS orbit 41 */ 42 int getWeek(); 43 44 /** 45 * Gets the Reference Time of the SBAS orbit in GPS seconds of the week. 46 * 47 * @return the Reference Time of the SBAS orbit (s) 48 */ 49 double getTime(); 50 51 /** 52 * Get the ECEF-X component of satellite coordinates. 53 * 54 * @return the ECEF-X component of satellite coordinates (m) 55 */ 56 double getX(); 57 58 /** 59 * Get the ECEF-X component of satellite velocity vector. 60 * 61 * @return the the ECEF-X component of satellite velocity vector (m/s) 62 */ 63 double getXDot(); 64 65 /** 66 * Get the ECEF-X component of satellite acceleration vector. 67 * 68 * @return the GLONASS ECEF-X component of satellite acceleration vector (m/s²) 69 */ 70 double getXDotDot(); 71 72 /** 73 * Get the ECEF-Y component of satellite coordinates. 74 * 75 * @return the ECEF-Y component of satellite coordinates (m) 76 */ 77 double getY(); 78 79 /** 80 * Get the ECEF-Y component of satellite velocity vector. 81 * 82 * @return the ECEF-Y component of satellite velocity vector (m/s) 83 */ 84 double getYDot(); 85 86 /** 87 * Get the ECEF-Y component of satellite acceleration vector. 88 * 89 * @return the ECEF-Y component of satellite acceleration vector (m/s²) 90 */ 91 double getYDotDot(); 92 93 /** 94 * Get the ECEF-Z component of satellite coordinates. 95 * 96 * @return the ECEF-Z component of satellite coordinates (m) 97 */ 98 double getZ(); 99 100 /** 101 * Get the ECEF-Z component of satellite velocity vector. 102 * 103 * @return the the ECEF-Z component of satellite velocity vector (m/s) 104 */ 105 double getZDot(); 106 107 /** 108 * Get the ECEF-Z component of satellite acceleration vector. 109 * 110 * @return the ECEF-Z component of satellite acceleration vector (m/s²) 111 */ 112 double getZDotDot(); 113 114 /** 115 * Gets the Issue Of Data Navigation (IODN). 116 * 117 * @return the IODN 118 */ 119 default int getIODN() { 120 return 0; 121 } 122 123 /** 124 * Gets the Zeroth Order Clock Correction. 125 * 126 * @return the Zeroth Order Clock Correction (s) 127 */ 128 default double getAGf0() { 129 return 0.0; 130 } 131 132 /** 133 * Gets the First Order Clock Correction. 134 * 135 * @return the First Order Clock Correction (s/s) 136 */ 137 default double getAGf1() { 138 return 0.0; 139 } 140 141 /** 142 * Gets the clock correction reference time toc. 143 * 144 * @return the clock correction reference time (s) 145 */ 146 default double getToc() { 147 return 0.0; 148 } 149 150 }