AveragedCircularWithMeanAngle.java

  1. /* Copyright 2020-2024 Exotrail
  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.conversion.averaging.elements;

  18. /**
  19.  * Immutable class containing values of averaged circular elements from any applicable theory
  20.  * (with MEAN as {@link org.orekit.orbits.PositionAngleType}).
  21.  *
  22.  * @author Romain Serra
  23.  * @see AveragedOrbitalElements
  24.  * @since 12.1
  25.  */
  26. public class AveragedCircularWithMeanAngle implements AveragedOrbitalElements {

  27.     /** Averaged semi-major axis in arbitrary theory. */
  28.     private final double averagedSemiMajorAxis;
  29.     /** Averaged circular ex in arbitrary theory. */
  30.     private final double averagedCircularEx;
  31.     /** Averaged circular ey in arbitrary theory. */
  32.     private final double averagedCircularEy;
  33.     /** Averaged inclination in arbitrary theory. */
  34.     private final double averagedInclination;
  35.     /** Averaged right ascension of the ascending node in arbitrary theory. */
  36.     private final double averagedRightAscensionOfTheAscendingNode;
  37.     /** Averaged mean latitude argument in arbitrary theory. */
  38.     private final double averagedMeanLatitudeArgument;

  39.     /**
  40.      * Constructor.
  41.      * @param averagedSemiMajorAxis averaged semi-major axis
  42.      * @param averagedCircularEx averaged circular ex
  43.      * @param averagedCircularEy averaged circular ey
  44.      * @param averagedInclination averaged inclination
  45.      * @param averagedRightAscensionOfTheAscendingNode averaged RAAN
  46.      * @param averagedMeanLatitudeArgument averaged mean latitude argument
  47.      */
  48.     public AveragedCircularWithMeanAngle(final double averagedSemiMajorAxis,
  49.                                          final double averagedCircularEx,
  50.                                          final double averagedCircularEy,
  51.                                          final double averagedInclination,
  52.                                          final double averagedRightAscensionOfTheAscendingNode,
  53.                                          final double averagedMeanLatitudeArgument) {
  54.         this.averagedSemiMajorAxis = averagedSemiMajorAxis;
  55.         this.averagedCircularEx = averagedCircularEx;
  56.         this.averagedCircularEy = averagedCircularEy;
  57.         this.averagedInclination = averagedInclination;
  58.         this.averagedRightAscensionOfTheAscendingNode = averagedRightAscensionOfTheAscendingNode;
  59.         this.averagedMeanLatitudeArgument = averagedMeanLatitudeArgument;
  60.     }

  61.     /** {@inheritDoc} */
  62.     @Override
  63.     public double[] toArray() {
  64.         return new double[] { averagedSemiMajorAxis, averagedCircularEx, averagedCircularEy,
  65.             averagedInclination, averagedRightAscensionOfTheAscendingNode, averagedMeanLatitudeArgument };
  66.     }

  67.     /**
  68.      * Getter for averaged semi-major axis.
  69.      * @return semi-major axis.
  70.      */
  71.     public double getAveragedSemiMajorAxis() {
  72.         return averagedSemiMajorAxis;
  73.     }

  74.     /**
  75.      * Getter for averaged circular ex.
  76.      * @return ex
  77.      */
  78.     public double getAveragedCircularEx() {
  79.         return averagedCircularEx;
  80.     }

  81.     /**
  82.      * Getter for averaged circular ey.
  83.      * @return ey
  84.      */
  85.     public double getAveragedCircularEy() {
  86.         return averagedCircularEy;
  87.     }

  88.     /**
  89.      * Getter for averaged inclination.
  90.      * @return inclination
  91.      */
  92.     public double getAveragedInclination() {
  93.         return averagedInclination;
  94.     }

  95.     /**
  96.      * Getter for averaged RAAN.
  97.      * @return RAAN
  98.      */
  99.     public double getAveragedRightAscensionOfTheAscendingNode() {
  100.         return averagedRightAscensionOfTheAscendingNode;
  101.     }

  102.     /**
  103.      * Getter for averaged mean latitude argument.
  104.      * @return mean latitude argument
  105.      */
  106.     public double getAveragedMeanLatitudeArgument() {
  107.         return averagedMeanLatitudeArgument;
  108.     }
  109. }