English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Uncertainty Modeler: TCirce.h Source File
Uranie / Uncertainty Modeler v4.9.0
/* @license-end */
TCirce.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
34#ifndef TCIRCE_H
35#define TCIRCE_H
36
37#include "TUncertModeler.h"
38
39#include <iostream>
40#include <fstream>
41
42using std::cout;
43using std::endl;
44
45// ROOT
46#include "Rtypes.h"
47#include "TVectorD.h"
48
49// Uranie
50#include "UncertModeler.h"
51#define CIRCE_DIFF_ATTRIBUTE "__circe__diff__"
52#define CIRCE_RESIDU_ATTRIBUTE "__circe__residual__"
53#define CIRCE_BLOC_NAME "__circe__bloc__"
54
55namespace URANIE
56{
57namespace UncertModeler
58{
60{
61
62 // Attributes
63public:
68protected:
69 Int_t _nSeed;
70 Double_t _dTol;
71 Double_t _dLikelihood;
72 TVectorD _vecBiais;
73 TMatrixD _matC;
74 TMatrixD _matCorrelation;
75 Int_t _nPatterns;
79
81
82 TList * _listOfTDS;
84 TList * _listOfBloc;
86
87 TVectorD _vecDiff;
89 TMatrixD _matSensibility;
90 TMatrixD _matInitialC;
91 TVectorD _vecInitialB;
92
93 TMatrixD _matVarianceMu;
95
96
97 // Methods
98public:
99 //---------------------------------------------
103
104 TCirce(URANIE::DataServer::TDataServer *tds, const char *systar,
105 const char *syhat, const char *ssensi, const char *sexpuncert = "",
106 Option_t * option = "");
108 virtual ~TCirce();
110
111 //---------------------------------------------
116
117 void setTolerance(Double_t dtol);
119 Double_t getTolerance()
120 {
121 return _dTol;
122 }
124 void setNCMatrix(Int_t n)
125 {
126 _nInitCAlea = n;
127 }
130 {
131 return _nInitCAlea;
132 }
134 Int_t getNTDS();
136 Double_t getLikelihood()
137 {
138 return _dLikelihood;
139 }
142 {
143 return _nPatterns;
144 }
147 {
148 return _nParameters;
149 }
152 {
153 return _matVarianceMu;
154 }
157 {
158 return _matVarianceSigma;
159 }
161
162 //---------------------------------------------
166
167 void setCMatrixInitial(TMatrixD mat);
170 {
171 return _matInitialC;
172 }
174 TMatrixD getCMatrix()
175 {
176 return _matC;
177 }
179 void setBVectorInitial(TVectorD vec);
182 {
183 return _vecInitialB;
184 }
186 TVectorD getBVector()
187 {
188 return _vecBiais;
189 }
191
192 //---------------------------------------------
196
197 void init(Option_t * option = "");
199 void estimate(Option_t * option = "");
201 void terminate(Option_t * option = "");
203 void printResults(Option_t * option = "");
205 void addData(URANIE::DataServer::TDataServer *tds, const char *systar,
206 const char *syhat, const char *ssensi, const char *sexpuncert = "");
208
209 //---------------------------------------------
213
214 void setInputFile(const char * sfile);
216 const char * getInputFile()
217 {
218 return _sCirceInputFile.Data();
219 }
221 void readInputFile(const char * sfile = "", ECirceMethod nCirceMethod =
222 kBiaisBloc);
224
225 //---------------------------------------------
229
230 void addBloc(URANIE::DataServer::TDataServer *tds, const char *sbloc,
231 const char* sname = "");
233 TMatrixD initCMatrix(Int_t nrows, Double_t dMulti);
235
236 //---------------------------------------------
240
246 void setSeed(Int_t ind = 0);
248 Int_t getSeed()
249 {
250 return _nSeed;
251 }
253
254 //---------------------------------------------
258
259 virtual void printLog(Option_t *option = "");
261
262 ClassDef(URANIE::UncertModeler::TCirce, ID_UNCERTMODELER)
263 //The description
264};
265
266} // End Of namespace UncertModeler
267} // End Of namespace URANIE
268
269#endif
270// End Of File TCirce.h
Interface with statistical test.
Definition TCirce.h:60
ECirceMethod _nCirceMethod
the Circe method from (kBiais, kBiaisBloc, kBiaisBlocCInitAlea, kBiaisBlocBootstrap)
Definition TCirce.h:78
Int_t getNParameters()
Get the number of parameters.
Definition TCirce.h:146
Int_t _nPatterns
The number of patterns.
Definition TCirce.h:75
virtual void printLog(Option_t *option="")
Print the log of the class.
Definition TCirce.cxx:1214
void setBVectorInitial(TVectorD vec)
Set the initial vector B.
Definition TCirce.cxx:371
TList * _listOfTDS
The list of TDS which contain data.
Definition TCirce.h:82
void printResults(Option_t *option="")
Print the results.
Definition TCirce.cxx:1140
Double_t _dTol
The tolerance to test the convergence (default 1e-5)
Definition TCirce.h:70
void setTolerance(Double_t dtol)
Set the tolerance parameter.
Definition TCirce.cxx:282
TMatrixD _matVarianceMu
The matrix of variance of mu computed Confidence Interval by the Fisher Matrix.
Definition TCirce.h:93
Double_t getLikelihood()
Get the Likelihood for the optimal parameters.
Definition TCirce.h:136
TMatrixD getMatrixVarianceMu()
Get the matrix of variance of mu.
Definition TCirce.h:151
Int_t getNPatterns()
Get the number of patterns.
Definition TCirce.h:141
TVectorD getBVector()
Get the final vector of biais (Circe)
Definition TCirce.h:186
TMatrixD _matCorrelation
The final matrix of correlation.
Definition TCirce.h:74
TVectorD _vecYStarVariance
The vector of experimental variance.
Definition TCirce.h:88
void estimate(Option_t *option="")
the estimate procedure
Definition TCirce.cxx:733
TList * _listOfInformations
The list of information for Circe.
Definition TCirce.h:83
void setNCMatrix(Int_t n)
Set the number of random matrix C to generate.
Definition TCirce.h:124
const char * getInputFile()
Get the Circe Input File.
Definition TCirce.h:216
TMatrixD getCMatrixInitial()
Get the initial Matrix C.
Definition TCirce.h:169
Int_t _nParameters
The number of parameters.
Definition TCirce.h:76
TList * _listOfBloc
The list of bloc (default NULL : when only one is as blias.f)
Definition TCirce.h:84
virtual ~TCirce()
Default destructor.
Definition TCirce.cxx:100
TList * _listOfSensitivity
The list of sensitivity parameter.
Definition TCirce.h:85
TString _sCirceInputFile
The input file of Circe.
Definition TCirce.h:77
TMatrixD _matVarianceSigma
The matrix of variance of sigma computed Confidence Interval by the Fisher Matrix.
Definition TCirce.h:94
Int_t getNCMatrix()
Get the number of random matrix C to generate.
Definition TCirce.h:129
void readInputFile(const char *sfile="", ECirceMethod nCirceMethod=kBiaisBloc)
Set and Read the Circe Input File.
Definition TCirce.cxx:333
Int_t getSeed()
Returns the seed value.
Definition TCirce.h:248
TVectorD _vecInitialB
The initial vector B.
Definition TCirce.h:91
TMatrixD _matSensibility
The matrix of sensibility.
Definition TCirce.h:89
TMatrixD _matInitialC
The initial matrix of C.
Definition TCirce.h:90
Int_t getNTDS()
Get the number of TDS.
Definition TCirce.cxx:270
TMatrixD initCMatrix(Int_t nrows, Double_t dMulti)
Generate a ramdom finite positive matrix C.
Definition TCirce.cxx:389
Double_t getTolerance()
Get the Tolerance parameter.
Definition TCirce.h:119
void init(Option_t *option="")
The init method.
Definition TCirce.cxx:419
Int_t _nInitCAlea
the number of Matrix C alea (default 1)
Definition TCirce.h:80
void terminate(Option_t *option="")
the terminate method
Definition TCirce.cxx:1064
TVectorD _vecBiais
The final vector of biais.
Definition TCirce.h:72
void addBloc(URANIE::DataServer::TDataServer *tds, const char *sbloc, const char *sname="")
The addBloc method.
Definition TCirce.cxx:635
TVectorD _vecDiff
The vector Y = Texp - Ycode.
Definition TCirce.h:87
TMatrixD _matC
The final matrix of Covariance.
Definition TCirce.h:73
void setInputFile(const char *sfile)
Set the Circe Input File.
Definition TCirce.cxx:307
void setSeed(Int_t ind=0)
Init the seed.
Definition TCirce.cxx:1121
ECirceMethod
Definition TCirce.h:65
@ kBiaisBlocBootstrap
Definition TCirce.h:66
@ kBiaisBloc
Definition TCirce.h:66
@ kBiais
Definition TCirce.h:66
@ kBiaisBlocCInitAlea
Definition TCirce.h:66
@ kUnknown
Definition TCirce.h:66
void setCMatrixInitial(TMatrixD mat)
Set The initial Matrix C.
Definition TCirce.cxx:354
TVectorD getBVectorInitial()
Get the initial vector B.
Definition TCirce.h:181
Double_t _dLikelihood
The Likelihood for the optimal parameter.
Definition TCirce.h:71
void addData(URANIE::DataServer::TDataServer *tds, const char *systar, const char *syhat, const char *ssensi, const char *sexpuncert="")
Add data from a new TDS.
Definition TCirce.cxx:129
TMatrixD getCMatrix()
Get the final matrix C of coriance (Circe)
Definition TCirce.h:174
Int_t _nSeed
the Seed of the random generator
Definition TCirce.h:69
TMatrixD getMatrixVarianceSigma()
Get the matrix of variance of sigma.
Definition TCirce.h:156
Definition TUncertModeler.h:48
Definition TCirce.cxx:58