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 }