← Documentation
ADS-IDAC Engine 5.0.0
InfoChunkMental.cpp
Go to the documentation of this file.
1// InfoChunkMental.cpp: implementation of the InfoChunkMental class.
2//
4
5#include "InfoChunkMental.h"
6#include "../Global/TermConversions.h"
7#include "../Branch/BranchRecord.h"
8#include <boost/serialization/export.hpp>
9#include <boost/archive/binary_oarchive.hpp>
10#include <boost/archive/binary_iarchive.hpp>
11#include "../Global/SimulationContext.h"
12BOOST_CLASS_EXPORT_IMPLEMENT(InfoChunkMental)
13using namespace std;
14
15
17// Construction/Destruction
19
21{
22 priority = 0.0;
23}
24
26{
27}
31 priority = -100.0;
32 return;
33 }
35 priority += 10.0;
36 }
39 }
41 priority += 100.0;
42 }
43}
47 this->clearInfoChunk();
48 related_subsystem.clear();
49}
52 related_subsystem.clear();
53}
54
56 bool is_included = false;
57 list<int>::iterator i_itr;
58 for(i_itr = related_subsystem.begin(); i_itr != related_subsystem.end(); i_itr++){
59 if(*i_itr == n) is_included = true;
60 }
61 return is_included;
62}
63
65 int n_return = -1;
66 int i;
67 list<int>::iterator i_itr;
68 i_itr = related_subsystem.begin();
69 if(related_subsystem.size() >= n + 1){
70 for(i = 0; i < n; i++){
71 i_itr++;
72 }
73 n_return = *i_itr;
74 }
75 return n_return;
76}
77
79 list<int>::iterator rs_itr;//related_subsystem
80 this->copyInfoChunk(_icm);
82 for(rs_itr = _icm.related_subsystem.begin(); rs_itr != _icm.related_subsystem.end(); rs_itr++){
83 this->related_subsystem.push_back(*rs_itr);
84 }
85 priority = _icm.getPriority();
86}
88 list<int>::iterator rs_itr;
89//
90 fout << "InfoChunkMental " << priority << ' ' << related_subsystem.size() << '\n';
91 for(rs_itr = related_subsystem.begin(); rs_itr != related_subsystem.end(); rs_itr++){
92 fout << *rs_itr << ' ';
93 }
94 fout << '\n';
95 this->saveInfoChunkToFile(fout);
97}
99 int i, num, i_value;
100 string str;
101 fin >> str;
102 if (str != "InfoChunkMental"){
103 ofstream fout("err messages.txt", ios::app);
104 cout << "InfoChunkMental::retrieveInfoChunkMentalFromFile File retrieval error in previous function" << endl;
105 fout << r5pars_.timesno << " InfoChunkMental::retrieveInfoChunkMentalFromFile File retrieval error in previous function\n";
106 fout.close();
107 r5pars_.sim_err = true;
108 g_sim.Branch_center.setTempESMessage("InfoChunkMental::retrieveInfoChunkMentalFromFile Prior err.");
110 return;
111 }
112 fin >> priority >> num;
113 for(i = 0; i < num; i++){
114 fin >> i_value;
115 related_subsystem.push_back(i_value);
116 }
117 this->retrieveInfoChunkFromFile(fin);
119}
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...
virtual ~InfoChunkMental()
std::list< int > related_subsystem
bool checkWhetherSubSystemIsIncluded(int)
void retrieveInfoChunkMentalFromFile(std::ifstream &)
void clearInfoChunkMentalPointers()
void saveInfoChunkMentalToFile(std::ofstream &)
void setPriority(double)
int getRelatedSubSystem(int)
void copyInfoChunkMental(InfoChunkMental &)
int getCurrentGoal()
Definition: InfoChunk.cpp:82
void clearInfoChunk()
Definition: InfoChunk.cpp:24
void clearInfoChunkPointers()
Definition: InfoChunk.cpp:41
bool includeActiveDiagnosis()
Definition: InfoChunk.cpp:536
void copyInfoChunk(InfoChunk &)
Definition: InfoChunk.cpp:1189
void saveInfoChunkToFile(std::ofstream &)
Definition: InfoChunk.cpp:1361
double getTotalWeightOfAlarmPerceived()
Definition: InfoChunk.cpp:64
void retrieveInfoChunkFromFile(std::ifstream &)
Definition: InfoChunk.cpp:1430
void setStateOfActivation(int)
void saveStateOfActivationToFile(std::ofstream &)
void retrieveStateOfActivationFromFile(std::ifstream &)
void copyStateOfActivation(StateOfActivation &)
struct @0 r5pars_
constexpr int NormalOp
Definition: SimConstants.h:158
constexpr int Done
Definition: SimConstants.h:123
constexpr int Active
Definition: SimConstants.h:118
constexpr int Pause
Definition: SimConstants.h:119
BranchRecord Branch_center
Dynamic event tree state.