English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Launcher: TOutputFileFMU.h Source File
Uranie / Launcher  v4.10.0
/* @license-end */
TOutputFileFMU.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
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/>.
17 
34 #ifndef TOutputFileFMU_H
35 #define TOutputFileFMU_H
36 
37 // ROOT
38 #include "Rtypes.h"
39 #include "TString.h"
40 #include "TList.h"
41 #include "TArrayI.h"
42 
43 // URANIE
44 #include "Launcher.h"
45 #include "TOutputFile.h"
46 
47 // FMI
48 #ifdef WIN32
49 #include <Windows4Root.h>
50 #endif
51 #include "fmilib.h"
52 
53 #include <vector>
54 
55 namespace URANIE
56 {
57 namespace Launcher
58 {
60 {
61 public:
62 
63  //---------------------------------------------
67 
71  TOutputFileFMU(TString str);
73  virtual ~TOutputFileFMU();
75 
76  // Public attribute accessor methods
77  //
78  //---------------------------------------------
82 
84  {
85  FUNCT_TRACE();
86  return _nOutputVector;
87  }
88  TArrayI * getListOutputVector()
89  {
90  FUNCT_TRACE();
91  if (_blog)
92  cout << " *** method TOutputFileFMU::" << __func__ << " array size[" << _lstOfVector->GetSize() << "]" << endl;
93  return _lstOfVector;
94  }
96 
97  //---------------------------------------------
101 
106  void addAttribute(URANIE::DataServer::TAttribute* att, TString sKey = "");
111  void addAttribute(TString sname, TString sKey = "");
112 
113 
114  void searchIndexeOutputAttribute(URANIE::DataServer::TAttribute* attOutput);
115 
116  void addDefaultOutput();
117 
118  void setVectorValues(vector<vector<double>> vvd)
119  {
120  _vecOutputs = vvd;
121 // cout << " **** Method TOutputFileFMU::" << __func__ << " with vector size[" << _vecOutputs.size()<< "]"
122 // " AND item 0 size[" << _vecOutputs[0].size() << "]" << endl;
123  }
124 
125 
126 
128 
129  //---------------------------------------------
133  Bool_t searchOutput(forkcode *fjob, Int_t &n, Double_t *val, TList *lstOut = NULL);
136  Bool_t searchOutput(forkcode *fjob, vector<URANIE::DataServer::UEntry*> *out);
138 
139  //---------------------------------------------
143 
144  void setFMU1Import( fmi1_import_t* crtFMU1Import);
145 
146  void setFMU2Import( fmi2_import_t* crtFMU2Import);
147 
148  void setFMUVersion(fmi_version_enu_t theFMUVersion)
149  {
150  _sVersion = theFMUVersion;
151  }
152 
153 
154  void printLog(Option_t *option = "");
156 
157  //---------------------------------------------
162 protected:
163  TString _spwd;
164  // FMI structures
165  fmi_version_enu_t _sVersion;
166  fmi1_import_t* _fmi1Import;
167  fmi2_import_t* _fmi2Import;
168 
171  TArrayI *_lstOfVector;
172  vector<vector<double>> _vecOutputs;
173 
174  // FMI General informations
175 
177 
178 
179 
180 
181  ClassDef(URANIE::Launcher::TOutputFileFMU, ID_LAUNCHER)
182  // End of Class
183 };
184 
185 } // End of namespace Launcher
186 } // End of namespace URANIE
187 
188 #endif // TInputFileFMU_H
189 // End of File
Definition: TCluster.h:66
TString _spwd
The relative path to suppress.
Definition: TOutputFileFMU.h:163
void printLog(Option_t *option="")
void addAttribute(URANIE::DataServer::TAttribute *att, TString sKey="")
Add the attribute in the file.
Int_t _nCrtOutputVector
the curent number of Output which is kVector
Definition: TOutputFileFMU.h:170
Bool_t searchOutput(forkcode *fjob, Int_t &n, Double_t *val, TList *lstOut=NULL)
Looking for output usindouble only and transmitting matrix (not used by launcher anymore) ...
void searchIndexeOutputAttribute(URANIE::DataServer::TAttribute *attOutput)
vector< vector< double > > _vecOutputs
the vector of stored kVector attributes
Definition: TOutputFileFMU.h:172
void setFMU1Import(fmi1_import_t *crtFMU1Import)
struct unforkjob forkcode
Definition: TInputFile.h:53
TOutputFileFMU(TString str)
Default constructor.
void setFMU2Import(fmi2_import_t *crtFMU2Import)
Description of the class TOutputFileFMU.
Definition: TOutputFileFMU.h:59
virtual ~TOutputFileFMU()
Default destructor.
Description of the class TOutputFile.
Definition: TOutputFile.h:87
TArrayI * getListOutputVector()
Definition: TOutputFileFMU.h:88
Interface of the class URANIE::Launcher::TOutputFile.
Int_t _nOutputVector
the number of Output which is kVector
Definition: TOutputFileFMU.h:169
fmi2_import_t * _fmi2Import
The FMU 2.0 Object.
Definition: TOutputFileFMU.h:167
void setFMUVersion(fmi_version_enu_t theFMUVersion)
Definition: TOutputFileFMU.h:148
fmi1_import_t * _fmi1Import
The FMU 1.0 Object.
Definition: TOutputFileFMU.h:166
Int_t getNOutputVector()
Definition: TOutputFileFMU.h:83
TArrayI * _lstOfVector
The list of RV for kVectors.
Definition: TOutputFileFMU.h:171
fmi_version_enu_t _sVersion
The FMU version.
Definition: TOutputFileFMU.h:165
void setVectorValues(vector< vector< double >> vvd)
Definition: TOutputFileFMU.h:118
Bool_t _blog
Boolean for edit the log.
Definition: TCodeFile.h:81