English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReLauncher: TEval.h Source File
Uranie / ReLauncher v4.9.0
/* @license-end */
TEval.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.4 $
22// $State$
24
32#ifndef __TEval__
33#define __TEval__
34
35//ROOT
36#include "Rtypes.h"
37#include "TObject.h"
38#include "TObjArray.h"
39
40// Uranie
41#include "Relauncher.h"
42#include "TDataServer.h"
43
44namespace URANIE
45{
46namespace Relauncher
47{
48
49class TEval: public TObject
50{
51public:
52
54 {
55 public:
56 ResultTypeMismatch(){std::cout<<"␛[91m <ERROR>"<<std::endl<<" <ERROR> This eval is not suited for the requested method"<<std::endl<<" <ERROR> ␛[0m"<<std::endl;}
57 };
59 {
60 public:
61 FreezedEval(){std::cout<<"␛[91m <ERROR>"<<std::endl<<" <ERROR> This eval is frozen"<<std::endl<<" <ERROR> ␛[0m"<<std::endl;}
62 };
64 {
65 public:
66 CanNotDealWithNotDouble(const char *name){
67 std::cout<<"␛[91m <ERROR>"<<std::endl<<" <ERROR> The eval "<<name<<" is not suited to deal with Strings and Vectors"<<std::endl<<" <ERROR> ␛[0m"<<std::endl;
68 }
69 };
70
72 {
73 public:
75 std::cout<<"␛[91m <ERROR>"<<std::endl<<" <ERROR> This eval is known to be not thread-safe"<<std::endl<<" <ERROR> ␛[0m"<<std::endl;
76 }
77 };
78
79 virtual ~TEval()
80 {
81 }
82
83 virtual TObjArray *getInputList() = 0;
84 virtual TObjArray *getOutputList() = 0;
85 virtual void addAllInputs(URANIE::DataServer::TDataServer *) = 0;
86
87 virtual void provideSingleResult() = 0;
88
89 virtual void freeze(void) = 0;
90 virtual TEval *rebuild(int rank, Bool_t chef = kTRUE) = 0;
91 virtual Bool_t unbuild() = 0;
92 virtual bool isThreadSafe() = 0;
93 virtual bool containsStringType() = 0;
94
95 virtual void clean() = 0;
96 virtual void cleanOutputs() = 0;
97
98 virtual int eval(vector<URANIE::DataServer::UEntry*>*, vector<URANIE::DataServer::UEntry*>*, int =0 ) = 0;
99
100 virtual int getOutDimension(vector<URANIE::DataServer::UEntry*>*) = 0;
101
102 ClassDef(URANIE::Relauncher::TEval, ID_RELAUNCHER)
103};
104
105
106}} // namespace
107
108#endif
CanNotDealWithNotDouble(const char *name)
Definition TEval.h:66
FreezedEval()
Definition TEval.h:61
Definition TEval.h:50
virtual ~TEval()
Definition TEval.h:79
virtual TObjArray * getOutputList()=0
virtual TEval * rebuild(int rank, Bool_t chef=kTRUE)=0
virtual void addAllInputs(URANIE::DataServer::TDataServer *)=0
virtual TObjArray * getInputList()=0
virtual void provideSingleResult()=0
virtual void clean()=0
virtual Bool_t unbuild()=0
virtual void cleanOutputs()=0
virtual bool isThreadSafe()=0
virtual int getOutDimension(vector< URANIE::DataServer::UEntry * > *)=0
virtual int eval(vector< URANIE::DataServer::UEntry * > *, vector< URANIE::DataServer::UEntry * > *, int=0)=0
virtual bool containsStringType()=0
virtual void freeze(void)=0
Definition TBaseEval.cxx:44