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.models.earth.troposphere;
18
19 import org.hipparchus.CalculusFieldElement;
20
21 /** Container for tropospheric delay.
22 * @param <T> type of the field elements
23 * @author Luc Maisonobe
24 * @since 12.1
25 */
26 public class FieldTroposphericDelay<T extends CalculusFieldElement<T>> {
27
28 /** Hydrostatic zenith delay (m). */
29 private final T zh;
30
31 /** Wet zenith delay (m). */
32 private final T zw;
33
34 /** Hydrostatic slanted delay (m). */
35 private final T sh;
36
37 /** Wet slanted delay (m). */
38 private final T sw;
39
40 /** Simple constructor.
41 * @param zh hydrostatic zenith delay (m)
42 * @param zw wet zenith delay (m)
43 * @param sh hydrostatic slanted delay (m)
44 * @param sw wet slanted delay (m)
45 */
46 public FieldTroposphericDelay(final T zh, final T zw, final T sh, final T sw) {
47 this.zh = zh;
48 this.zw = zw;
49 this.sh = sh;
50 this.sw = sw;
51 }
52
53 /** Get hydrostatic zenith delay (m).
54 * @return hydrostatic zenith delay (m)
55 */
56 public T getZh() {
57 return zh;
58 }
59
60 /** Get wet zenith delay (m).
61 * @return wet zenith delay (m)
62 */
63 public T getZw() {
64 return zw;
65 }
66
67 /** Get slanted delay (m).
68 * @return slanted delay (m)
69 */
70 public T getSh() {
71 return sh;
72 }
73
74 /** Get wet slanted delay (m).
75 * @return wet slanted delay (m)
76 */
77 public T getSw() {
78 return sw;
79 }
80
81 /** Get the total slanted delay (m).
82 * @return total slanted delay (m)
83 */
84 public T getDelay() {
85 return sh.add(sw);
86 }
87
88 }