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.10.0
/* @license-end */
TEval.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 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 
44 namespace URANIE
45 {
46 namespace Relauncher
47 {
48 
49 class TEval: public TObject
50 {
51 public:
52 
54  {
55  public:
56  ResultTypeMismatch(){std::cout<<" <ERROR>"<<std::endl<<" <ERROR> This eval is not suited for the requested method"<<std::endl<<" <ERROR> "<<std::endl;}
57  };
59  {
60  public:
61  FreezedEval(){std::cout<<" <ERROR>"<<std::endl<<" <ERROR> This eval is frozen"<<std::endl<<" <ERROR> "<<std::endl;}
62  };
64  {
65  public:
66  CanNotDealWithNotDouble(const char *name){
67  std::cout<<" <ERROR>"<<std::endl<<" <ERROR> The eval "<<name<<" is not suited to deal with Strings and Vectors"<<std::endl<<" <ERROR> "<<std::endl;
68  }
69  };
70 
72  {
73  public:
75  std::cout<<" <ERROR>"<<std::endl<<" <ERROR> This eval is known to be not thread-safe"<<std::endl<<" <ERROR> "<<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
Definition: TBaseEval.cxx:44
virtual TObjArray * getInputList()=0
FreezedEval()
Definition: TEval.h:61
virtual bool isThreadSafe()=0
virtual void addAllInputs(URANIE::DataServer::TDataServer *)=0
virtual TObjArray * getOutputList()=0
virtual int getOutDimension(vector< URANIE::DataServer::UEntry *> *)=0
virtual void cleanOutputs()=0
virtual Bool_t unbuild()=0
virtual TEval * rebuild(int rank, Bool_t chef=kTRUE)=0
virtual ~TEval()
Definition: TEval.h:79
virtual void freeze(void)=0
virtual void clean()=0
virtual void provideSingleResult()=0
Definition: TEval.h:49
virtual bool containsStringType()=0
CanNotDealWithNotDouble(const char *name)
Definition: TEval.h:66
virtual int eval(vector< URANIE::DataServer::UEntry *> *, vector< URANIE::DataServer::UEntry *> *, int=0)=0