English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Sensitivity: TMorris.h Source File
Uranie / Sensitivity v4.9.0
/* @license-end */
TMorris.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/>.
17// TMorris mer sep 13 12:39:50 CEST 2006
19// $Id$
20// $Author$
21// $Date$
22// $Revision$
23// $State$
25
68#ifndef TMORRIS_H
69#define TMORRIS_H
70
72#ifndef ROOT_TMatrixD
73#include "TMatrixD.h"
74#endif
75#include "TVectorD.h"
76#include "TRandom2.h"
77
79#include "TScreeming.h"
80
81namespace URANIE
82{
83namespace Sensitivity
84{
85class TMorris: public TScreeming
86{
87private:
88 Double_t _delta;
89 Int_t _level;
90 TMatrixD _matB;
91 TVectorD _vecDirection;
92 TNtupleD* _ntdatamorris;
93 URANIE::DataServer::TDSNtupleD* _ntmorrisresult;
94 TRandom2 * _rand;
95
97 void stdInit();
98public:
99 //---------------------------------------------
103
104 TMorris(URANIE::DataServer::TDataServer *tds, const char *fcn, Int_t nReplique,
105 Int_t level, Double_t delta = 0, TString sout = "");
107#ifdef ROOT5
108 TMorris(URANIE::DataServer::TDataServer *tds, void *fcn, Int_t nReplique,
109 Int_t level, Double_t delta = 0, TString sout = "");
110#else
111 TMorris(URANIE::DataServer::TDataServer *tds, void (*fcn)(Double_t*,Double_t*),
112 TString sin, TString sout,
113 Int_t nReplique, Int_t level, Double_t delta = 0);
114#endif
116 TMorris(URANIE::DataServer::TDataServer *tds, const char *varexpinput,
117 const char *varexpoutput, Option_t * option = "");
119 TMorris(URANIE::DataServer::TDataServer *tds,
120 URANIE::Launcher::TCode *fcode, Int_t nReplique, Int_t level,
121 Double_t delta = 0);
123 TMorris(URANIE::DataServer::TDataServer *tds,
124 URANIE::Relauncher::TRun *run, Int_t nReplique, Int_t level,
125 Double_t delta = 0);
129 //---------------------------------------------
133
134 URANIE::DataServer::TDSNtupleD* getMorrisResults()
135 {
136 return _ntmorrisresult;
137 }
138
139 TTree *getResultTuple(bool commonresulttuple=false);
140
142 void setLevel(Int_t val)
143 {
144 _level = val;
145 }
147 Int_t getLevel()
148 {
149 return _level;
150 }
152 void setDelta(Double_t val)
153 {
154 _delta = val;
155 }
157 Double_t getDelta()
158 {
159 return _delta;
160 }
163 {
164 return _nS;
165 }
167
168 //---------------------------------------------
172 virtual void generateSample(Option_t * option = "");
173
175
187
188 //---------------------------------------------
192 void evaluateIndexes(Option_t * option = "");
193
195
200
201 //---------------------------------------------
205 virtual void createTuple();
207 virtual void drawIndexes(TString sTitre, const char *select = "", Option_t * option = "", bool internalCall=kFALSE);
208 void drawSample(TString svar = "", Int_t nreplique = 0, Option_t *option="");
209 void drawIndexes(Option_t * option = "", bool internalCall=kFALSE);
210 void drawIndexesAll(Option_t * option = "");
211 void pyDrawIndexes(Option_t * option = "");
213
214 //---------------------------------------------
218 void printLog(Option_t *option = "");
220
221 ClassDef(URANIE::Sensitivity::TMorris, ID_SENSITIVITY)
222 //Classe de
223};
224
225} // Fin du namespace Sensitivity
226} // Fin du namespace URANIE
227#endif
Interface of class URANIE::Sensitivity::TScreeming.
Description of the class TMorris.
Definition TMorris.h:86
URANIE::DataServer::TDSNtupleD * getMorrisResults()
Get Morris results.
Definition TMorris.h:134
void evaluateIndexes(Option_t *option="")
Evaluates the index from a Specific TDataServer.
void drawSample(TString svar="", Int_t nreplique=0, Option_t *option="")
void setDelta(Double_t val)
Sets the delta.
Definition TMorris.h:152
virtual void drawIndexes(TString sTitre, const char *select="", Option_t *option="", bool internalCall=kFALSE)
Draws the indexes.
URANIE::DataServer::TDSNtupleD * _ntmorrisresult
The tntuple of result .
Definition TMorris.h:93
void computeOrientationMatrixOld()
Computes the orientation matrix .
TMorris(URANIE::DataServer::TDataServer *tds, const char *fcn, Int_t nReplique, Int_t level, Double_t delta=0, TString sout="")
Default constructor with the name of a function.
TMorris(URANIE::DataServer::TDataServer *tds, URANIE::Launcher::TCode *fcode, Int_t nReplique, Int_t level, Double_t delta=0)
Default constructor with a tcode.
void stdInit()
constructor helpers
Int_t getLevel()
Gets the level.
Definition TMorris.h:147
TMorris(URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run, Int_t nReplique, Int_t level, Double_t delta=0)
Default constructor with a trun.
TTree * getResultTuple(bool commonresulttuple=false)
Get the result ntuple (default parameter unused but for Morris method)
void setLevel(Int_t val)
Sets the level.
Definition TMorris.h:142
TNtupleD * _ntdatamorris
Vector of direction.
Definition TMorris.h:92
void drawIndexesAll(Option_t *option="")
TMorris(URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="")
Default constructor with a TDataServer filling.
void drawIndexes(Option_t *option="", bool internalCall=kFALSE)
Int_t getNReplica()
Gets the number of replica.
Definition TMorris.h:162
TRandom2 * _rand
Definition TMorris.h:94
void pyDrawIndexes(Option_t *option="")
TMatrixD _matB
Definition TMorris.h:90
TMorris(URANIE::DataServer::TDataServer *tds, void(*fcn)(Double_t *, Double_t *), TString sin, TString sout, Int_t nReplique, Int_t level, Double_t delta=0)
Default constructor with a function.
virtual void generateSample(Option_t *option="")
void preTreatment()
PreTreatment for every output.
~TMorris()
Default destructor.
Double_t getDelta()
Gets the delta.
Definition TMorris.h:157
TVectorD _vecDirection
Matrix of .
Definition TMorris.h:91
void printLog(Option_t *option="")
Int_t _level
The level parameter (known as p)
Definition TMorris.h:89
Double_t _delta
The Delta parameter.
Definition TMorris.h:88
Description of the class TScreeming.
Definition TScreeming.h:63
Int_t _nS
The number of simulation or other information depend on the used method.
Definition TSensitivity.h:166
ROOT.
Definition TCMN.h:45