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  
18  package org.orekit.estimation.common;
19  
20  import org.hipparchus.linear.RealMatrix;
21  import org.hipparchus.stat.descriptive.StreamingStatistics;
22  import org.orekit.estimation.sequential.PhysicalEstimatedState;
23  import org.orekit.utils.ParameterDriversList;
24  import org.orekit.utils.TimeStampedPVCoordinates;
25  
26  public class ResultKalman {
27      private final int numberOfMeasurements;
28      private final TimeStampedPVCoordinates estimatedPV;
29      private final StreamingStatistics rangeStat;
30      private final StreamingStatistics azimStat;
31      private final StreamingStatistics elevStat;
32      private final ParameterDriversList propagatorParameters  ;
33      private final ParameterDriversList measurementsParameters;
34      private final RealMatrix covariances;
35      private final PhysicalEstimatedState smoothedState;
36      ResultKalman(ParameterDriversList  propagatorParameters,
37                   ParameterDriversList  measurementsParameters,
38                   int numberOfMeasurements, TimeStampedPVCoordinates estimatedPV,
39                   StreamingStatistics rangeStat, StreamingStatistics rangeRateStat,
40                   StreamingStatistics azimStat, StreamingStatistics elevStat,
41                   StreamingStatistics posStat, StreamingStatistics velStat,
42                   RealMatrix covariances, PhysicalEstimatedState smoothedState) {
43  
44          this.propagatorParameters   = propagatorParameters;
45          this.measurementsParameters = measurementsParameters;
46          this.numberOfMeasurements   = numberOfMeasurements;
47          this.estimatedPV            = estimatedPV;
48          this.rangeStat              = rangeStat;
49          this.azimStat               = azimStat;
50          this.elevStat               = elevStat;
51          this.covariances            = covariances;
52          this.smoothedState          = smoothedState;
53      }
54  
55      public int getNumberOfMeasurements() {
56          return numberOfMeasurements;
57      }
58  
59      public TimeStampedPVCoordinates getEstimatedPV() {
60          return estimatedPV;
61      }
62  
63      public StreamingStatistics getRangeStat() {
64          return rangeStat;
65      }
66  
67      public StreamingStatistics getAzimStat() {
68          return azimStat;
69      }
70  
71      public StreamingStatistics getElevStat() {
72          return elevStat;
73      }
74  
75      public RealMatrix getCovariances() {
76          return covariances;
77      }
78  
79      public ParameterDriversList getPropagatorParameters() {
80          return propagatorParameters;
81      }
82  
83      public ParameterDriversList getMeasurementsParameters() {
84          return measurementsParameters;
85      }
86  
87      public PhysicalEstimatedState getSmoothedState() {
88          return smoothedState;
89      }
90  }