6#include "../Branch/BranchRecord.h"
7#include <boost/serialization/export.hpp>
8#include "../Global/SimulationContext.h"
9#include <boost/archive/binary_oarchive.hpp>
10#include <boost/archive/binary_iarchive.hpp>
23typedef map<string, SystemDisplay *>
cp_type;
26 int n_display, i, ncount, num_rate_items;
28 string display_type, display_name, display_unit;
33 fin >> display_type >> n_display;
34 fin >> str >> num_rate_items;
35 for (i = 0; i < n_display; i++) {
37 sub_str = str.substr(0, 5);
38 if (sub_str ==
"RATE_") {
39 auto pvr_ptr = make_unique<DisplayParameterValueRate>();
40 pvr_ptr->readInfoFromFileWithoutDisplayName(fin);
41 pvr_ptr->setDisplayName(str);
42 pvr_ptr->setNumOfItemForCalRate(num_rate_items);
45 auto pv_ptr = make_unique<DisplayParameterValue>();
46 pv_ptr->readInfoFromFileWithoutDisplayName(fin);
47 pv_ptr->setDisplayName(str);
52 fin >> display_type >> n_display;
53 for (i = 0; i < n_display; i++) {
54 auto hs_ptr = make_unique<DisplayHeatStructure>();
55 hs_ptr->readInfoFromFile(fin);
59 fin >> display_type >> n_display;
60 for (i = 0; i < n_display; i++) {
61 auto cs_ptr = make_unique<DisplayComponentState>();
62 cs_ptr->readInfoFromFile(fin);
66 fin >> display_type >> n_display;
67 for (i = 0; i < n_display; i++) {
68 auto sss_ptr = make_unique<DisplaySupportSystemState>();
69 sss_ptr->readInfoFromFile(fin);
82 ofstream fout(
"err messages.txt", ios::app);
83 cout <<
"ControlPanelDisplay::readInfoFromFile DisplayParameterValue: " << element_ptr->
getDisplayName()
84 <<
" cannot be inserted into map" << endl;
85 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::readInfoFromFile DisplayParameterValue: "
86 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
99 ofstream fout(
"err messages.txt", ios::app);
100 cout <<
"ControlPanelDisplay::readInfoFromFile DisplayParameterTrend: " << element_ptr->
getDisplayName()
101 <<
" cannot be inserted into map" << endl;
102 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::readInfoFromFile DisplayParameterTrend: "
103 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
117 ofstream fout(
"err messages.txt", ios::app);
118 cout <<
"ControlPanelDisplay::readInfoFromFile DisplayHeatStructure: " << element_ptr->
getDisplayName()
119 <<
" cannot be inserted into map" << endl;
120 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::readInfoFromFile DisplayHeatStructure: "
121 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
135 ofstream fout(
"err messages.txt", ios::app);
136 cout <<
"ControlPanelDisplay::readInfoFromFile DisplayComponentState: " << element_ptr->
getDisplayName()
137 <<
" cannot be inserted into map" << endl;
138 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::readInfoFromFile DisplayComponentState: "
139 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
153 ofstream fout(
"err messages.txt", ios::app);
154 cout <<
"ControlPanelDisplay::readInfoFromFile DisplaySupportSystemState: " << element_ptr->
getDisplayName()
155 <<
" cannot be inserted into map" << endl;
156 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::readInfoFromFile DisplaySupportSystemState: "
157 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
173 (*pv_itr)->updateDisplayedParameterValue();
174 (*pv_itr)->setCorrespondingSystemParameterUnit();
177 (*pt_itr)->updateDisplayedParameterValue();
178 (*pt_itr)->setCorrespondingSystemParameterUnit();
181 (*cs_itr)->updateDisplayedComponentOperationalState();
185 (*hs_itr)->updateDisplayedParameterValue();
186 (*hs_itr)->setCorrespondingSystemParameterUnit();
190 map<string, SystemDisplay *>::iterator map_itr;
196 ofstream fout(
"err messages.txt", ios::app);
197 cout <<
"ControlPanelDisplay::getDisplayFromMap Display " << _display_name
198 <<
" can not be found." << endl;
199 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::getDisplayFromMap Display " << _display_name
200 <<
" can not be found.\n";
207 return map_itr->second;
221 fout <<
'\t' << (*dpv_itr)->getDisplayName();
224 fout <<
'\t' << (*dpr_itr)->getDisplayName();
228 fout <<
'\t' << (*hs_itr)->getDisplayName();
231 fout <<
'\t' << (*csa_itr)->getDisplayName();
234 fout <<
'\t' << (*sss_itr)->getDisplayName();
244 fout <<
'\t' << (*dpv_itr)->getCorrespondingSystemParameterUnit();
247 fout <<
'\t' << (*dpr_itr)->getCorrespondingSystemParameterUnit();
250 fout <<
'\t' << (*hs_itr)->getCorrespondingSystemParameterUnit();
253 fout <<
'\t' << (*csa_itr)->getCorrespondingSystemParameterUnit();
263 fout <<
'\t' << (*dpv_itr)->getDisplayedParameterValue();
266 fout <<
'\t' << (*dpr_itr)->getRateOfChange();
269 fout <<
'\t' << (*hs_itr)->getDisplayedParameterValue();
272 fout <<
'\t' << (*csa_itr)->getDisplayedComponentOperationalState();
283 (*dcs_itr)->updateDisplayedComponentOperationalState();
287 (*dpr_itr)->addAValueIntoParHistory();
288 (*dpr_itr)->calculateRateOfChange();
291 (*hs_itr)->updateDisplayedParameterValue();
294 (*dpv_itr)->updateDisplayedParameterValue();
305 auto ptr = make_unique<DisplayComponentState>();
306 ptr->copyDisplayComponentState(*src);
307 this->
display_map.insert(cp_type::value_type(ptr->getDisplayName(), ptr.get()));
311 auto ptr = make_unique<DisplaySupportSystemState>();
312 ptr->copyDisplaySupportSystemState(*src);
313 this->
display_map.insert(cp_type::value_type(ptr->getDisplayName(), ptr.get()));
317 auto ptr = make_unique<DisplayParameterValue>();
318 ptr->copyDisplayParameterValue(*src);
319 this->
display_map.insert(cp_type::value_type(ptr->getDisplayName(), ptr.get()));
323 auto ptr = make_unique<DisplayParameterValueRate>();
324 ptr->copyDisplayParameterValueRate(*src);
325 this->
display_map.insert(cp_type::value_type(ptr->getDisplayName(), ptr.get()));
329 auto ptr = make_unique<DisplayHeatStructure>();
330 ptr->copyDisplayHeatStructure(*src);
331 this->
display_map.insert(cp_type::value_type(ptr->getDisplayName(), ptr.get()));
346 fout <<
"ControlPanelDisplay\n" << num <<
'\n';
347 for (i = 0; i < num; i++) {
351 for (i = 0; i < num; i++) {
356 for (i = 0; i < num; i++) {
361 for (i = 0; i < num; i++) {
366 for (i = 0; i < num; i++) {
371 int n_display, i, ncount;
373 string display_type, display_name, display_unit;
378 fin >> str >> n_display;
379 for (i = 0; i < n_display; i++) {
380 auto cs_ptr = make_unique<DisplayComponentState>();
381 cs_ptr->retrieveDisplayComponentStateFromFile(fin);
385 fin >> str >> n_display;
386 for (i = 0; i < n_display; i++) {
387 auto sss_ptr = make_unique<DisplaySupportSystemState>();
388 sss_ptr->retrieveDisplaySupportSystemStateFromFile(fin);
393 for (i = 0; i < n_display; i++) {
394 auto pv_ptr = make_unique<DisplayParameterValue>();
395 pv_ptr->retrieveDisplayParameterValueFromFile(fin);
399 for (i = 0; i < n_display; i++) {
400 auto pvr_ptr = make_unique<DisplayParameterValueRate>();
401 pvr_ptr->retrieveDisplayParameterValueRateFromFile(fin);
406 for (i = 0; i < n_display; i++) {
407 auto hs_ptr = make_unique<DisplayHeatStructure>();
408 hs_ptr->retrieveDisplayHeatStructureFromFile(fin);
420 ofstream fout(
"err messages.txt", ios::app);
421 cout <<
"ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayParameterValue: "
422 << element_ptr->
getDisplayName() <<
" cannot be inserted into map" << endl;
423 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayParameterValue: "
424 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
437 ofstream fout(
"err messages.txt", ios::app);
438 cout <<
"ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayParameterTrend: "
439 << element_ptr->
getDisplayName() <<
" cannot be inserted into map" << endl;
440 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayParameterTrend: "
441 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
455 ofstream fout(
"err messages.txt", ios::app);
456 cout <<
"ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayHeatStructure: "
457 << element_ptr->
getDisplayName() <<
" cannot be inserted into map" << endl;
458 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayHeatStructure: "
459 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
473 ofstream fout(
"err messages.txt", ios::app);
474 cout <<
"ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayComponentState: "
475 << element_ptr->
getDisplayName() <<
" cannot be inserted into map" << endl;
476 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplayComponentState: "
477 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
491 ofstream fout(
"err messages.txt", ios::app);
492 cout <<
"ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplaySupportSystemState: "
493 << element_ptr->
getDisplayName() <<
" cannot be inserted into map" << endl;
494 fout <<
r5pars_.timesno <<
" ControlPanelDisplay::retrieveControlPanelDisplayFromFile DisplaySupportSystemState: "
495 << element_ptr->
getDisplayName() <<
" cannot be inserted into map\n";
map< string, SystemDisplay * > cp_type
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
void copyControlPanelDisplay(ControlPanelDisplay &)
virtual ~ControlPanelDisplay()
const std::vector< std::unique_ptr< DisplaySupportSystemState > > & getSupport_systems_state_array() const
void initiateAllParametersValues()
void retrieveControlPanelDisplayFromFile(std::ifstream &)
std::vector< std::unique_ptr< DisplayComponentState > > component_state_array
std::vector< std::unique_ptr< DisplayParameterValueRate > > parameter_trend_array
std::map< std::string, SystemDisplay * > display_map
void clearControlPanelDisplay()
void outputParametersLabelsToFile(std::ofstream &)
void outputParametersUnitsToFile(std::ofstream &)
std::vector< std::unique_ptr< DisplayParameterValue > > parameter_value_array
std::vector< std::unique_ptr< DisplayHeatStructure > > heat_structure_array
void outputParametersValuesToFile(double, std::ofstream &)
void saveControlPanelDisplayToFile(std::ofstream &)
int readInfoFromFile(std::ifstream &)
SystemDisplay * getDisplayFromMap(std::string)
int getTotalNumberOfDisplays()
std::vector< std::unique_ptr< DisplaySupportSystemState > > support_systems_state_array
void updateAllDisplayValueAndState()
std::string getDisplayName()
BranchRecord Branch_center
Dynamic event tree state.