1   /* Copyright 2010-2011 Centre National d'Études Spatiales
2    * Licensed to CS Systèmes d'Information (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.numerical;
18  
19  import org.orekit.forces.ForceModel;
20  
21  
22  /** Simple container associating a parameter name with a step to compute its jacobian
23   * and the provider that manages it.
24   * @author Véronique Pommier-Maurussane
25   */
26  public class ParameterConfiguration {
27  
28      /** Parameter name. */
29      private String parameterName;
30  
31      /** Parameter step for finite difference computation of partial derivative with respect to that parameter. */
32      private double hP;
33  
34      /** Provider handling this parameter. */
35      private ForceModel provider;
36  
37      /** Parameter name and step pair constructor.
38       * @param parameterName parameter name
39       * @param hP parameter step */
40      public ParameterConfiguration(final String parameterName, final double hP) {
41          this.parameterName = parameterName;
42          this.hP = hP;
43          this.provider = null;
44      }
45  
46      /** Get parameter name.
47       * @return parameterName parameter name
48       */
49      public String getParameterName() {
50          return parameterName;
51      }
52  
53      /** Get parameter step.
54       * @return hP parameter step
55       */
56      public double getHP() {
57          return hP;
58      }
59  
60      /** Set the povider handling this parameter.
61       * @param provider provider handling this parameter
62       */
63      public void setProvider(final ForceModel provider) {
64          this.provider = provider;
65      }
66  
67      /** Get the povider handling this parameter.
68       * @return provider handling this parameter
69       */
70      public ForceModel getProvider() {
71          return provider;
72      }
73  
74  }