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.propagation.semianalytical.dsst.forces;
18
19 import org.hipparchus.CalculusFieldElement;
20 import org.orekit.propagation.semianalytical.dsst.utilities.FieldAuxiliaryElements;
21
22 /**
23 * This class is a container for the common "field" parameters used in {@link DSSTNewtonianAttraction}.
24 * <p>
25 * It performs parameters initialization at each integration step for the central body attraction.
26 * </p>
27 * @author Bryan Cazabonne
28 * @since 10.0
29 * @param <T> type of the field elements
30 */
31 public class FieldDSSTNewtonianAttractionContext<T extends CalculusFieldElement<T>> extends FieldForceModelContext<T> {
32
33 /** Standard gravitational parameter μ for the body in m³/s². */
34 private final T gm;
35
36 /**
37 * Simple constructor.
38 *
39 * @param auxiliaryElements auxiliary elements related to the current orbit
40 * @param parameters values of the force model parameters
41 */
42 FieldDSSTNewtonianAttractionContext(final FieldAuxiliaryElements<T> auxiliaryElements, final T[] parameters) {
43
44 super(auxiliaryElements);
45 this.gm = parameters[0];
46 }
47
48 /** Get standard gravitational parameter μ for the body in m³/s².
49 * @return gm
50 */
51 public T getGM() {
52 return gm;
53 }
54 }