English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReLauncher: TCodeAsEval.h Source File
Uranie / ReLauncher  v4.10.0
/* @license-end */
TCodeAsEval.h
Go to the documentation of this file.
1 /* --- Ansi C --- */
3 // Copyright (C) 2023 CEA/DEN
4 //
5 // This program is free software: you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public License
7 // as published by the Free Software Foundation, either version 3 of
8 // the License, or any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this program.
17 // if not, see <http://www.gnu.org/licenses/>.
19 
27 #ifndef __TCODEASEVAL__
28 #define __TCODEASEVAL__
29 
30 //ROOT
31 #include "Rtypes.h"
32 #include "TString.h"
33 #include "TList.h"
34 
35 //URANIE
36 #include "Relauncher.h"
37 #include "TShareEval.h"
38 #include "TLauncherEnv.h"
39 #include "TCode.h"
40 
41 namespace URANIE
42 {
43 namespace Relauncher
44 {
45 
46 class TCodeAsEval : public TShareEval, public URANIE::Launcher::TLauncherEnv
47 {
48 protected:
49  URANIE::Launcher::forkcode *_fjob;
50  vector<URANIE::DataServer::UEntry*> _inputValues, _outputValues;
51 
52 public:
53  TCodeAsEval(URANIE::Launcher::TCode *);
54  virtual ~TCodeAsEval();
55 
56  void setJob(URANIE::Launcher::forkcode *);
57  void prepareEntries(URANIE::Launcher::forkcode *, vector<URANIE::DataServer::UEntry*> *);
58 
59  // protocole
60  virtual void freeze();
61  virtual TEval *rebuild(int rank, Bool_t chef = kTRUE);
62  virtual Bool_t unbuild();
63  virtual int eval(vector<URANIE::DataServer::UEntry*>*, vector<URANIE::DataServer::UEntry*>*, int ncalc=0);
64 
65  ClassDef(URANIE::Relauncher::TCodeAsEval, ID_RELAUNCHER)
66 };
67 
68 }} // namespace
69 
70 #endif
Definition: TBaseEval.cxx:44
virtual ~TCodeAsEval()
Definition: TCodeAsEval.cxx:48
virtual Bool_t unbuild()
Definition: TCodeAsEval.cxx:187
URANIE::Launcher::forkcode * _fjob
Definition: TCodeAsEval.h:49
Definition: TShareEval.h:51
implementation partage au TEval
vector< URANIE::DataServer::UEntry * > _inputValues
Definition: TCodeAsEval.h:50
virtual int eval(vector< URANIE::DataServer::UEntry *> *, vector< URANIE::DataServer::UEntry *> *, int ncalc=0)
Definition: TCodeAsEval.cxx:193
void setJob(URANIE::Launcher::forkcode *)
Definition: TCodeAsEval.cxx:58
vector< URANIE::DataServer::UEntry * > _outputValues
Definition: TCodeAsEval.h:50
virtual TEval * rebuild(int rank, Bool_t chef=kTRUE)
Definition: TCodeAsEval.cxx:173
void prepareEntries(URANIE::Launcher::forkcode *, vector< URANIE::DataServer::UEntry *> *)
Definition: TCodeAsEval.cxx:124
Definition: TCodeAsEval.h:46
Definition: TEval.h:49
virtual void freeze()
Definition: TCodeAsEval.cxx:143
TCodeAsEval(URANIE::Launcher::TCode *)
Definition: TCodeAsEval.cxx:43