1   /* Copyright 2022-2025 Luc Maisonobe
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.estimation.measurements;
18  
19  import org.orekit.propagation.SpacecraftState;
20  import org.orekit.utils.TimeStampedPVCoordinates;
21  
22  /** Common intermediate parameters used to estimate measurements.
23   * @author Luc Maisonobe
24   * @since 12.1
25   */
26  public class CommonParametersWithoutDerivatives {
27  
28      /** Spacecraft state. */
29      private final SpacecraftState state;
30  
31      /** Downlink delay. */
32      private final double tauD;
33  
34      /** Transit state. */
35      private final SpacecraftState transitState;
36  
37      /** Transit position/velocity. */
38      private final TimeStampedPVCoordinates transitPV;
39  
40      /** Simple constructor.
41      * @param state spacecraft state
42      * @param tauD downlink delay
43      * @param transitState transit state
44      * @param transitPV transit position/velocity
45      */
46      public CommonParametersWithoutDerivatives(final SpacecraftState state,
47                                                final double tauD,
48                                                final SpacecraftState transitState,
49                                                final TimeStampedPVCoordinates transitPV) {
50          this.state        = state;
51          this.tauD         = tauD;
52          this.transitState = transitState;
53          this.transitPV    = transitPV;
54      }
55  
56      /** Get spacecraft state.
57       * @return spacecraft state
58       */
59      public SpacecraftState getState() {
60          return state;
61      }
62  
63      /** Get downlink delay.
64       * @return ownlink delay
65       */
66      public double getTauD() {
67          return tauD;
68      }
69  
70      /** Get transit state.
71       * @return transit state
72       */
73      public SpacecraftState getTransitState() {
74          return transitState;
75      }
76  
77      /** Get transit position/velocity.
78       * @return transit position/velocity
79       */
80      public TimeStampedPVCoordinates getTransitPV() {
81          return transitPV;
82      }
83  
84  }