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.10.0
/* @license-end */
TMorris.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/>.
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 
81 namespace URANIE
82 {
83 namespace Sensitivity
84 {
85 class TMorris: public TScreeming
86 {
87 private:
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();
98 public:
99  //---------------------------------------------
103  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
115  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);
127  ~TMorris();
129  //---------------------------------------------
133  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  }
162  Int_t getNReplica()
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 
198  void preTreatment();
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
ROOT.
Definition: TCMN.h:45
Description of the class TScreeming.
Definition: TScreeming.h:62
Int_t getNReplica()
Gets the number of replica.
Definition: TMorris.h:162
TTree * getResultTuple(bool commonresulttuple=false)
Get the result ntuple (default parameter unused but for Morris method)
TVectorD _vecDirection
Matrix of .
Definition: TMorris.h:91
URANIE::DataServer::TDSNtupleD * getMorrisResults()
Get Morris results.
Definition: TMorris.h:134
void pyDrawIndexes(Option_t *option="")
TNtupleD * _ntdatamorris
Vector of direction.
Definition: TMorris.h:92
Int_t _level
The level parameter (known as p)
Definition: TMorris.h:89
void drawIndexesAll(Option_t *option="")
Int_t _nS
The number of simulation or other information depend on the used method.
Definition: TSensitivity.h:166
URANIE::DataServer::TDSNtupleD * _ntmorrisresult
The tntuple of result .
Definition: TMorris.h:93
Description of the class TMorris.
Definition: TMorris.h:85
void drawSample(TString svar="", Int_t nreplique=0, Option_t *option="")
void setDelta(Double_t val)
Sets the delta.
Definition: TMorris.h:152
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.
void preTreatment()
PreTreatment for every output.
void computeOrientationMatrixOld()
Computes the orientation matrix .
Double_t _delta
The Delta parameter.
Definition: TMorris.h:88
void stdInit()
constructor helpers
TRandom2 * _rand
Definition: TMorris.h:94
void setLevel(Int_t val)
Sets the level.
Definition: TMorris.h:142
Int_t getLevel()
Gets the level.
Definition: TMorris.h:147
virtual void drawIndexes(TString sTitre, const char *select="", Option_t *option="", bool internalCall=kFALSE)
Draws the indexes.
Double_t getDelta()
Gets the delta.
Definition: TMorris.h:157
TMatrixD _matB
Definition: TMorris.h:90
Interface of class URANIE::Sensitivity::TScreeming.
~TMorris()
Default destructor.
void evaluateIndexes(Option_t *option="")
Evaluates the index from a Specific TDataServer.
virtual void generateSample(Option_t *option="")
void printLog(Option_t *option="")