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 import org.orekit.time.TimeStamped;
20
21 /**This interface provides the minimal set of orbital elements needed by the
22 * {@link org.orekit.propagation.analytical.gnss.ClockCorrectionsProvider}.
23 *
24 * @author Pascal Parraud
25 * @since 11.0
26 */
27 public interface GNSSClockElements extends TimeStamped {
28
29 /**
30 * Gets the Zeroth Order Clock Correction.
31 *
32 * @return the Zeroth Order Clock Correction (s)
33 * @see #getAf1()
34 * @see #getAf2()
35 * @see #getToc()
36 */
37 double getAf0();
38
39 /**
40 * Gets the First Order Clock Correction.
41 *
42 * @return the First Order Clock Correction (s/s)
43 * @see #getAf0()
44 * @see #getAf2()
45 * @see #getToc()
46 */
47 double getAf1();
48
49 /**
50 * Gets the Second Order Clock Correction.
51 *
52 * @return the Second Order Clock Correction (s/s²)
53 * @see #getAf0()
54 * @see #getAf1()
55 * @see #getToc()
56 */
57 double getAf2();
58
59 /**
60 * Gets the estimated group delay differential TGD for L1-L2 correction.
61 *
62 * @return the estimated group delay differential TGD for L1-L2 correction (s)
63 */
64 double getTGD();
65
66 /**
67 * Gets the duration of the GNSS cycle in seconds.
68 *
69 * @return the duration of the GNSS cycle in seconds
70 */
71 double getCycleDuration();
72
73 /**
74 * Gets the clock correction reference time toc.
75 *
76 * @return the clock correction reference time (s)
77 * @see #getAf0()
78 * @see #getAf1()
79 * @see #getAf2()
80 */
81 default double getToc() {
82 return 0.0;
83 }
84
85 }