1 /* Copyright 2002-2016 CS Systèmes d'Information
2 * Licensed to CS Systèmes d'Information (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 java.io.Serializable;
20
21 import org.orekit.time.AbsoluteDate;
22 import org.orekit.time.TimeStamped;
23
24 /** Delaunay arguments used for nutation or tides.
25 * <p>This class is a simple placeholder,
26 * it does not provide any processing method.</p>
27 * @author Luc Maisonobe
28 * @since 6.1
29 */
30 public class DelaunayArguments implements TimeStamped, Serializable {
31
32 /** Serializable UID. */
33 private static final long serialVersionUID = 20130729L;
34
35 /** Date. */
36 private final AbsoluteDate date;
37
38 /** Offset in Julian centuries. */
39 private final double tc;
40
41 /** Tide parameter γ = GMST + π. */
42 private final double gamma;
43
44 /** Mean anomaly of the Moon. */
45 private final double l;
46
47 /** Mean anomaly of the Sun. */
48 private final double lPrime;
49
50 /** L - Ω where L is the mean longitude of the Moon. */
51 private final double f;
52
53 /** Mean elongation of the Moon from the Sun. */
54 private final double d;
55
56 /** Mean longitude of the ascending node of the Moon. */
57 private final double omega;
58
59 /** Simple constructor.
60 * @param date current date
61 * @param tc offset in Julian centuries
62 * @param gamma tide parameter γ = GMST + π
63 * @param l mean anomaly of the Moon
64 * @param lPrime mean anomaly of the Sun
65 * @param f L - Ω where L is the mean longitude of the Moon
66 * @param d mean elongation of the Moon from the Sun
67 * @param omega mean longitude of the ascending node of the Moon
68 */
69 public DelaunayArguments(final AbsoluteDate date, final double tc, final double gamma,
70 final double l, final double lPrime,
71 final double f, final double d, final double omega) {
72 this.date = date;
73 this.tc = tc;
74 this.gamma = gamma;
75 this.l = l;
76 this.lPrime = lPrime;
77 this.f = f;
78 this.d = d;
79 this.omega = omega;
80 }
81
82 /** {@inheritDoc} */
83 public AbsoluteDate getDate() {
84 return date;
85 }
86
87 /** Get the offset in Julian centuries.
88 * @return offset in Julian centuries
89 */
90 public double getTC() {
91 return tc;
92 }
93
94 /** Get the tide parameter γ = GMST + π.
95 * @return tide parameter γ = GMST + π
96 */
97 public double getGamma() {
98 return gamma;
99 }
100
101 /** Get the mean anomaly of the Moon.
102 * @return mean anomaly of the Moon
103 */
104 public double getL() {
105 return l;
106 }
107
108 /** Get the mean anomaly of the Sun.
109 * @return mean anomaly of the Sun.
110 */
111 public double getLPrime() {
112 return lPrime;
113 }
114
115 /** Get L - Ω where L is the mean longitude of the Moon.
116 * @return L - Ω
117 */
118 public double getF() {
119 return f;
120 }
121
122 /** Get the mean elongation of the Moon from the Sun.
123 * @return mean elongation of the Moon from the Sun.
124 */
125 public double getD() {
126 return d;
127 }
128
129 /** Get the mean longitude of the ascending node of the Moon.
130 * @return mean longitude of the ascending node of the Moon.
131 */
132 public double getOmega() {
133 return omega;
134 }
135
136 }