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.utils.ParameterDriversList;
23  import org.orekit.utils.TimeStampedPVCoordinates;
24  
25  public class ResultSequentialBatchLeastSquares {
26  
27      ParameterDriversList propagatorParameters  ;
28      ParameterDriversList measurementsParameters;
29  
30      private int numberOfIteration;
31      private int numberOfEvaluation;
32      private TimeStampedPVCoordinates estimatedPV;
33      private RealMatrix covariances;
34  
35      private int numberOfIterationSequential;
36      private int numberOfEvaluationSequential;
37      private TimeStampedPVCoordinates estimatedPVSequential;
38      private RealMatrix covariancesSequential;
39  
40      ResultSequentialBatchLeastSquares(ParameterDriversList  propagatorParameters,
41               ParameterDriversList  measurementsParameters,
42               int numberOfIteration, int numberOfEvaluation, TimeStampedPVCoordinates estimatedPV,
43               StreamingStatistics posStat, RealMatrix covariances,
44  
45               int numberOfIterationSequential, int numberOfEvaluationSequential, TimeStampedPVCoordinates estimatedPVSequential,
46               StreamingStatistics posStatSequential, RealMatrix covariancesSequential) {
47  
48          // Common objects
49          this.propagatorParameters   = propagatorParameters;
50          this.measurementsParameters = measurementsParameters;
51  
52          // Only BLS
53          this.numberOfIteration      = numberOfIteration;
54          this.numberOfEvaluation     = numberOfEvaluation;
55          this.estimatedPV            = estimatedPV;
56          this.covariances            = covariances;
57  
58          // Only SBLS
59          this.numberOfIterationSequential      = numberOfIterationSequential;
60          this.numberOfEvaluationSequential     = numberOfEvaluationSequential;
61          this.estimatedPVSequential            = estimatedPVSequential;
62          this.covariancesSequential            = covariancesSequential;
63  
64  
65  
66      }
67  
68      public int getNumberOfIteration() {
69          return numberOfIteration;
70      }
71  
72      public int getNumberOfEvaluation() {
73          return numberOfEvaluation;
74      }
75  
76      public TimeStampedPVCoordinates getEstimatedPV() {
77          return estimatedPV;
78      }
79  
80      public RealMatrix getCovariances() {
81          return covariances;
82      }
83  
84      public ParameterDriversList getPropagatorParameters() {
85          return propagatorParameters;
86      }
87  
88      public ParameterDriversList getMeasurementsParameters() {
89          return measurementsParameters;
90      }
91  
92      public int getNumberOfIterationSequential() {
93          return numberOfIterationSequential;
94      }
95  
96      public int getNumberOfEvaluationSequential() {
97          return numberOfEvaluationSequential;
98      }
99  
100     public TimeStampedPVCoordinates getEstimatedPVSequential() {
101         return estimatedPVSequential;
102     }
103 
104     public RealMatrix getCovariancesSequential() {
105         return covariancesSequential;
106     }
107 }