English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Sensitivity: TDGSM.h Source File
Uranie / Sensitivity  v4.10.0
/* @license-end */
TDGSM.h
Go to the documentation of this file.
1 // Copyright (C) 2013-2024 CEA/DES
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as published
6 // by the Free Software Foundation, either version 3 of the License, or any
7 // later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 // $Id$
19 // $Author$
20 // $Date$
21 // $Revision$
22 // $State$
24 
38 #ifndef TDGSM_H
39 #define TDGSM_H
40 
41 // Uranie
42 #include "TStochAttribut.h"
43 #include "TFiniteDifferences.h"
44 
45 using std::cout;
46 using std::endl;
47 using namespace URANIE::DataServer;
48 
49 namespace URANIE
50 {
51 namespace Sensitivity
52 {
53 
55 {
56 public:
57  //---------------------------------------------
61 
65  TDGSM();
66 
74  TDGSM(TDataServer *tdsNominal, void (*fcn)(Double_t*,Double_t*),
75  Int_t ns, TString sensitiveAtt, TString outputAtt,
76  TString samplingOption = "steps=1%");
77 
86  TDGSM(TDataServer *tdsNominal, const char* fcn,
87  Int_t ns,
88  TString sensitiveAtt, TString outputAtt,
89  TString samplingOption );
90 
98  TDGSM(TDataServer *tdsNominal, URANIE::Launcher::TCode *fcode,
99  Int_t ns,
100  TString sensitiveAtt = "", TString samplingOption = "steps=1%");
101 
109  TDGSM(TDataServer *tdsNominal, URANIE::Relauncher::TRun *run,
110  Int_t ns,
111  TString sensitiveAtt = "", TString samplingOption = "steps=1%");
112 
120  TDGSM(TDataServer *tdsNominal, TString inputAtt,
121  TString outputAtt, TString sensitiveAtt = TString(""));
122 
126  virtual ~TDGSM();
128 
129  //---------------------------------------------
133  virtual Double_t getStepSizeParameter()
135  {
136  return _dstepSize;
137  }
142  TMatrixD getSensitivityMatrix();
143 
148  TDataServer* getDataServer()
149  {
150  return _tds;
151  }
153 
154  //---------------------------------------------
158  virtual void generateSample(Option_t * option = "")
159  {
160  generateSampleByOATDesign(option);
161  }
162 
163  void generateSampleByOATDesign(Option_t * option = "");
173  void initSample(Int_t ns, Option_t * option = "");
175  virtual void parseOption(Option_t *option = "");
177 
178  //---------------------------------------------
182 
187  void evaluateIndexes(Option_t * option = "");
188 
190 
191  //---------------------------------------------
198  virtual void printLog();
200  ClassDef(URANIE::Sensitivity::TDGSM, ID_SENSITIVITY)
201 
202  //---------------------------------------------
207  private:
208  Double_t _dstepSize;
210 
211 
212 };
213 
214 } // Fin du namespace Sensitivity
215 } // Fin du namespace URANIE
216 
217 #endif
ROOT.
Definition: TCMN.h:45
This class provides sensitivity measures based on finite difference.
virtual void generateSample(Option_t *option="")
Generates the OAT sampling.
Definition: TDGSM.h:158
Description of the class TFiniteDifferences.
Definition: TFiniteDifferences.h:79
Description of the class TDGSM.
Definition: TDGSM.h:54
TDataServer * getDataServer()
Returns a pointer to the internal data server.
Definition: TDGSM.h:148