English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReLauncher: TMaster.h Source File
Uranie / ReLauncher v4.9.0
/* @license-end */
TMaster.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 by
6// 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 1.5 $
22// $State$
24
32#ifndef __TMaster__
33#define __TMaster__
34
35#include <vector>
36//ROOT
37#include "Rtypes.h"
38#include "TList.h"
39
40// Uranie
41#include "Relauncher.h"
42#include "TDataServer.h"
43#include "TRun.h"
44#include "TStandardEval.h"
45#include "TMasterVar.h"
46
47namespace URANIE
48{
49namespace Relauncher
50{
51
53{
54protected:
55 URANIE::DataServer::TDataServer *_tds;
60
61 // constructor helper
62 void match_input();
63 // subclasse helper
64 void fillDS();
65
66 void allocInCodeEntries(int siz, vector<vector<URANIE::DataServer::UEntry*>> &, bool withid=false);
67 void allocOutCodeEntries(int siz, vector<vector<URANIE::DataServer::UEntry*>> &);
68 void allocGradCodeEntries(int siz, vector<vector<URANIE::DataServer::UEntry*>> &);
69 void allocDataEntries(int siz, vector<vector<URANIE::DataServer::UEntry*>> &);
70 void allocDataEntries(vector<URANIE::DataServer::UEntry*> &);
71
72 void inputForCode(const double*, double*);
73
74 void inputForCode(const double*, vector<URANIE::DataServer::UEntry *>*);
75 void outputFromCode(vector<URANIE::DataServer::UEntry *>*, double*);
76
77 // Entry part for vectors
78 void inputForCode(const vector<URANIE::DataServer::UEntry*>*, vector<URANIE::DataServer::UEntry*>*);
79 void allFromCode(vector<URANIE::DataServer::UEntry*>*, vector<URANIE::DataServer::UEntry*>*, vector<URANIE::DataServer::UEntry*>*);
80
81public:
82 TMaster(URANIE::DataServer::TDataServer *, TRun *);
83 TMaster(URANIE::DataServer::TDataServer *, TEval *);
84 TMaster(URANIE::DataServer::TDataServer *, TStandardEval *, const char*, const char*);
85 virtual ~TMaster();
86
87 // gestion des parametres
88 void addConstantValue(URANIE::DataServer::TAttribute *att, double, bool KeepIt=false);
89 void addConstantValue(URANIE::DataServer::TAttribute *att, URANIE::DataServer::UEntry*, bool KeepIt=false);
90 void addTemporary(URANIE::DataServer::TAttribute *att);
91 void fillConstant();
92 URANIE::DataServer::TDataServer *getTDS() {return _tds;}
93
94 TRun* getRunner() { return _run; }
95
96 // protocole
97 virtual void solverLoop() = 0;
98
99 void clean();
100
101 ClassDef(URANIE::Relauncher::TMaster, ID_RELAUNCHER)
102};
103
104}
105}
106
107#endif
gestion des variables
simple eval shared class
Definition TEval.h:50
Definition TMaster.h:53
virtual void solverLoop()=0
void allocInCodeEntries(int siz, vector< vector< URANIE::DataServer::UEntry * > > &, bool withid=false)
Definition TMaster.cxx:318
void clean()
Definition TMaster.cxx:527
URANIE::DataServer::TDataServer * _tds
Definition TMaster.h:55
void addTemporary(URANIE::DataServer::TAttribute *att)
Definition TMaster.cxx:262
TRun * _localrun
Definition TMaster.h:56
int _Naux
Definition TMaster.h:59
int _NinDat
Definition TMaster.h:59
void fillConstant()
Definition TMaster.cxx:532
TList _param
Definition TMaster.h:58
URANIE::DataServer::TDataServer * getTDS()
Definition TMaster.h:92
void outputFromCode(vector< URANIE::DataServer::UEntry * > *, double *)
Definition TMaster.cxx:466
int _NoutDat
Definition TMaster.h:59
TRun * _run
Definition TMaster.h:56
void allFromCode(vector< URANIE::DataServer::UEntry * > *, vector< URANIE::DataServer::UEntry * > *, vector< URANIE::DataServer::UEntry * > *)
Definition TMaster.cxx:501
void allocGradCodeEntries(int siz, vector< vector< URANIE::DataServer::UEntry * > > &)
Definition TMaster.cxx:355
void fillDS()
Definition TMaster.cxx:286
TEval * _fun
Definition TMaster.h:57
void allocOutCodeEntries(int siz, vector< vector< URANIE::DataServer::UEntry * > > &)
Definition TMaster.cxx:339
void match_input()
Definition TMaster.cxx:122
virtual ~TMaster()
Definition TMaster.cxx:110
TList _sortie
Definition TMaster.h:58
TRun * getRunner()
Definition TMaster.h:94
int _NinCod
Definition TMaster.h:59
void inputForCode(const double *, double *)
Definition TMaster.cxx:436
void addConstantValue(URANIE::DataServer::TAttribute *att, double, bool KeepIt=false)
Definition TMaster.cxx:201
int _NoutCod
Definition TMaster.h:59
void allocDataEntries(int siz, vector< vector< URANIE::DataServer::UEntry * > > &)
Definition TMaster.cxx:371
Definition TRun.h:50
Definition TStandardEval.h:46
Definition TBaseEval.cxx:44