English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Sensitivity: TFiniteDifferences.h Source File
Uranie / Sensitivity v4.9.0
/* @license-end */
TFiniteDifferences.h
Go to the documentation of this file.
1
2// 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
61#ifndef TFiniteDifferences_H
62#define TFiniteDifferences_H
63
64// Uranie
65#include "TStochAttribut.h"
66#include "TSensitivity.h"
67
68using std::cout;
69using std::endl;
70using namespace URANIE::DataServer;
71
72namespace URANIE
73{
74namespace Sensitivity
75{
76
77//void SensitivityInteractiveMethod(Double_t *param, Double_t *out);
78
80{
81
82protected:
83
84 TMatrixD _sMatrix;
87 Int_t _nbIn;
88 Int_t _nbAux;
89protected:
90
91public:
92 //---------------------------------------------
96
98
100
114#ifdef ROOT5
115 TFiniteDifferences(TDataServer *tdsNominal, void *fcn, TString outputAtt,
116 TString sensitiveAtt = "", TString samplingOption = "steps=1%");
117#else
118 TFiniteDifferences(TDataServer *tdsNominal, void (*fcn)(Double_t*,Double_t*),
119 TString sensitiveAtt, TString outputAtt,
120 TString samplingOption = "steps=1%");
121#endif
122
124
137 TFiniteDifferences(TDataServer *tdsNominal, const char* fcn,
138 TString sensitiveAtt, TString outputAtt,
139 TString samplingOption );
140
141
143
155 TFiniteDifferences(TDataServer *tdsNominal, URANIE::Launcher::TCode *fcode,
156 TString sensitiveAtt = "", TString samplingOption = "steps=1%");
157
159
171 TFiniteDifferences(TDataServer *tdsNominal, URANIE::Relauncher::TRun *run,
172 TString sensitiveAtt = "", TString samplingOption = "steps=1%");
173
175
192 TFiniteDifferences(TDataServer *tdsNominal, TString inputAtt,
193 TString outputAtt, TString sensitiveAtt = TString(""));
194
198
199 //---------------------------------------------
203
205 {
206 return _sMatrix;
207 }
208
210 TDataServer* getDataServer()
211 {
212 return _tds;
213 }
215
216 //---------------------------------------------
220
228 virtual void generateSample(Option_t * option = "");
229
231
232 //---------------------------------------------
236
245// void computeIndexes(Option_t * option = "");
246 void evaluateIndexes(Option_t * option = "");
247
249
255
256 //---------------------------------------------
260 virtual void printLog();
262 ClassDef(URANIE::Sensitivity::TFiniteDifferences, ID_SENSITIVITY)
263 //Definition of an variable
264
265};
266
267} // Fin du namespace Sensitivity
268} // Fin du namespace URANIE
269
270#endif
Interface of class URANIE::Sensitivity::TSensitivity.
Description of the class TFiniteDifferences.
Definition TFiniteDifferences.h:80
TDataServer * getDataServer()
Returns a pointer to the internal data server.
Definition TFiniteDifferences.h:210
Int_t _nbAux
the number of non sensitive inputs
Definition TFiniteDifferences.h:88
TMatrixD _sMatrix
The sensitivity matrix.
Definition TFiniteDifferences.h:84
virtual ~TFiniteDifferences()
Default destructor.
TFiniteDifferences(TDataServer *tdsNominal, const char *fcn, TString sensitiveAtt, TString outputAtt, TString samplingOption)
Constructor with the TDataServer and function name.
Int_t _nbIn
the number of sensitive inputs
Definition TFiniteDifferences.h:87
TFiniteDifferences()
Default constructor.
TFiniteDifferences(TDataServer *tdsNominal, TString inputAtt, TString outputAtt, TString sensitiveAtt=TString(""))
Constructor with a loaded data server.
virtual void generateSample(Option_t *option="")
Generates the OAT sampling.
TFiniteDifferences(TDataServer *tdsNominal, URANIE::Launcher::TCode *fcode, TString sensitiveAtt="", TString samplingOption="steps=1%")
Constructor with the TDataServer and code.
TMatrixD getSensitivityMatrix()
Returns the sensitivity matrix.
Definition TFiniteDifferences.h:204
void preTreatment()
Resize the matrix results at the very beginning of the algo to the number of output/input.
void evaluateIndexes(Option_t *option="")
Compute the sensitivity matrix.
TFiniteDifferences(TDataServer *tdsNominal, URANIE::Relauncher::TRun *run, TString sensitiveAtt="", TString samplingOption="steps=1%")
Constructor with the TDataServer and TRun.
TString _sSensitiveAtt
The list of sensitive attributes.
Definition TFiniteDifferences.h:85
TFiniteDifferences(TDataServer *tdsNominal, void(*fcn)(Double_t *, Double_t *), TString sensitiveAtt, TString outputAtt, TString samplingOption="steps=1%")
Constructor with the TDataServer and function.
TString _sSamplingOption
the options for the OAT sampling
Definition TFiniteDifferences.h:86
Description of the class TSensitivity.
Definition TSensitivity.h:112
URANIE::DataServer::TDataServer * _tds
Pointeur vers un TDS.
Definition TSensitivity.h:149
ROOT.
Definition TCMN.h:45