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.data;
18
19 import org.orekit.time.AbsoluteDate;
20
21 /** Elements of the bodies having an effect on nutation.
22 * <p>This class is a simple placeholder,
23 * it does not provide any processing method.</p>
24 * @author Luc Maisonobe
25 */
26 public final class BodiesElements extends DelaunayArguments {
27
28 /** Mean Mercury longitude. */
29 private final double lMe;
30
31 /** Mean Mercury longitude time derivative. */
32 private final double lMeDot;
33
34 /** Mean Venus longitude. */
35 private final double lVe;
36
37 /** Mean Venus longitude time derivative. */
38 private final double lVeDot;
39
40 /** Mean Earth longitude. */
41 private final double lE;
42
43 /** Mean Earth longitude time derivative. */
44 private final double lEDot;
45
46 /** Mean Mars longitude. */
47 private final double lMa;
48
49 /** Mean Mars longitude time derivative. */
50 private final double lMaDot;
51
52 /** Mean Jupiter longitude. */
53 private final double lJu;
54
55 /** Mean Jupiter longitude time derivative. */
56 private final double lJuDot;
57
58 /** Mean Saturn longitude. */
59 private final double lSa;
60
61 /** Mean Saturn longitude time derivative. */
62 private final double lSaDot;
63
64 /** Mean Uranus longitude. */
65 private final double lUr;
66
67 /** Mean Uranus longitude time derivative. */
68 private final double lUrDot;
69
70 /** Mean Neptune longitude. */
71 private final double lNe;
72
73 /** Mean Neptune longitude time derivative. */
74 private final double lNeDot;
75
76 /** General accumulated precession in longitude. */
77 private final double pa;
78
79 /** General accumulated precession in longitude time derivative. */
80 private final double paDot;
81
82 /** Simple constructor.
83 * @param date current date
84 * @param tc offset in Julian centuries
85 * @param gamma tide parameter γ = GMST + π
86 * @param gammaDot tide parameter γ = GMST + π time derivative
87 * @param l mean anomaly of the Moon
88 * @param lDot mean anomaly of the Moon time derivative
89 * @param lPrime mean anomaly of the Sun
90 * @param lPrimeDot mean anomaly of the Sun time derivative
91 * @param f L - Ω where L is the mean longitude of the Moon
92 * @param fDot L - Ω where L is the mean longitude of the Moon time derivative
93 * @param d mean elongation of the Moon from the Sun
94 * @param dDot mean elongation of the Moon from the Sun time derivative
95 * @param omega mean longitude of the ascending node of the Moon
96 * @param omegaDot mean longitude of the ascending node of the Moon time derivative
97 * @param lMe mean Mercury longitude
98 * @param lMeDot mean Mercury longitude time derivative
99 * @param lVe mean Venus longitude
100 * @param lVeDot mean Venus longitude time derivative
101 * @param lE mean Earth longitude
102 * @param lEDot mean Earth longitude time derivative
103 * @param lMa mean Mars longitude
104 * @param lMaDot mean Mars longitude time derivative
105 * @param lJu mean Jupiter longitude
106 * @param lJuDot mean Jupiter longitude time derivative
107 * @param lSa mean Saturn longitude
108 * @param lSaDot mean Saturn longitude time derivative
109 * @param lUr mean Uranus longitude
110 * @param lUrDot mean Uranus longitude time derivative
111 * @param lNe mean Neptune longitude
112 * @param lNeDot mean Neptune longitude time derivative
113 * @param pa general accumulated precession in longitude
114 * @param paDot general accumulated precession in longitude time derivative
115 */
116 public BodiesElements(final AbsoluteDate date, final double tc, final double gamma, final double gammaDot,
117 final double l, final double lDot, final double lPrime, final double lPrimeDot,
118 final double f, final double fDot, final double d, final double dDot,
119 final double omega, final double omegaDot,
120 final double lMe, final double lMeDot, final double lVe, final double lVeDot,
121 final double lE, final double lEDot, final double lMa, final double lMaDot,
122 final double lJu, final double lJuDot, final double lSa, final double lSaDot,
123 final double lUr, final double lUrDot, final double lNe, final double lNeDot,
124 final double pa, final double paDot) {
125 super(date, tc, gamma, gammaDot, l, lDot, lPrime, lPrimeDot, f, fDot, d, dDot, omega, omegaDot);
126 this.lMe = lMe;
127 this.lMeDot = lMeDot;
128 this.lVe = lVe;
129 this.lVeDot = lVeDot;
130 this.lE = lE;
131 this.lEDot = lEDot;
132 this.lMa = lMa;
133 this.lMaDot = lMaDot;
134 this.lJu = lJu;
135 this.lJuDot = lJuDot;
136 this.lSa = lSa;
137 this.lSaDot = lSaDot;
138 this.lUr = lUr;
139 this.lUrDot = lUrDot;
140 this.lNe = lNe;
141 this.lNeDot = lNeDot;
142 this.pa = pa;
143 this.paDot = paDot;
144 }
145
146 /** Get the mean Mercury longitude.
147 * @return mean Mercury longitude.
148 */
149 public double getLMe() {
150 return lMe;
151 }
152
153 /** Get the mean Mercury longitude time derivative.
154 * @return mean Mercury longitude time derivative.
155 */
156 public double getLMeDot() {
157 return lMeDot;
158 }
159
160 /** Get the mean Venus longitude.
161 * @return mean Venus longitude. */
162 public double getLVe() {
163 return lVe;
164 }
165
166 /** Get the mean Venus longitude time derivative.
167 * @return mean Venus longitude time derivative. */
168 public double getLVeDot() {
169 return lVeDot;
170 }
171
172 /** Get the mean Earth longitude.
173 * @return mean Earth longitude. */
174 public double getLE() {
175 return lE;
176 }
177
178 /** Get the mean Earth longitude time derivative.
179 * @return mean Earth longitude time derivative. */
180 public double getLEDot() {
181 return lEDot;
182 }
183
184 /** Get the mean Mars longitude.
185 * @return mean Mars longitude. */
186 public double getLMa() {
187 return lMa;
188 }
189
190 /** Get the mean Mars longitude time derivative.
191 * @return mean Mars longitude time derivative. */
192 public double getLMaDot() {
193 return lMaDot;
194 }
195
196 /** Get the mean Jupiter longitude.
197 * @return mean Jupiter longitude. */
198 public double getLJu() {
199 return lJu;
200 }
201
202 /** Get the mean Jupiter longitude time derivative.
203 * @return mean Jupiter longitude time derivative. */
204 public double getLJuDot() {
205 return lJuDot;
206 }
207
208 /** Get the mean Saturn longitude.
209 * @return mean Saturn longitude. */
210 public double getLSa() {
211 return lSa;
212 }
213
214 /** Get the mean Saturn longitude time derivative.
215 * @return mean Saturn longitude time derivative. */
216 public double getLSaDot() {
217 return lSaDot;
218 }
219
220 /** Get the mean Uranus longitude.
221 * @return mean Uranus longitude. */
222 public double getLUr() {
223 return lUr;
224 }
225
226 /** Get the mean Uranus longitude time derivative.
227 * @return mean Uranus longitude time derivative. */
228 public double getLUrDot() {
229 return lUrDot;
230 }
231
232 /** Get the mean Neptune longitude.
233 * @return mean Neptune longitude. */
234 public double getLNe() {
235 return lNe;
236 }
237
238 /** Get the mean Neptune longitude time derivative.
239 * @return mean Neptune longitude time derivative. */
240 public double getLNeDot() {
241 return lNeDot;
242 }
243
244 /** Get the general accumulated precession in longitude.
245 * @return general accumulated precession in longitude. */
246 public double getPa() {
247 return pa;
248 }
249
250 /** Get the general accumulated precession in longitude time derivative.
251 * @return general accumulated precession in longitude time derivative. */
252 public double getPaDot() {
253 return paDot;
254 }
255
256 }