←
Documentation
ADS-IDAC Engine
5.0.0
AnalysisInfoContainerUnit.cpp
Go to the documentation of this file.
1
// AnalysisInfoContainerUnit.cpp: implementation of the AnalysisInfoContainerUnit class.
2
//
4
5
6
#include <stdlib.h>
7
#include <boost/serialization/export.hpp>
8
9
#include "
AnalysisInfoContainerUnit.h
"
10
#include "../Branch/BranchRecord.h"
11
#include "../Global/SimulationContext.h"
12
#include <boost/archive/binary_oarchive.hpp>
13
#include <boost/archive/binary_iarchive.hpp>
14
BOOST_CLASS_EXPORT_IMPLEMENT(
AnalysisInfoContainerUnit
)
15
using namespace
std;
16
17
19
// Construction/Destruction
21
22
AnalysisInfoContainerUnit::AnalysisInfoContainerUnit
()
23
{
24
associated_branch_ID
= -999;
25
time
= -999.0;
26
statement
=
"NONE"
;
27
}
28
AnalysisInfoContainerUnit::AnalysisInfoContainerUnit
(
double
_x,
string
_str,
int
_branch_ID){
29
time
= _x;
30
statement
= _str;
31
associated_branch_ID
= _branch_ID;
32
};
33
AnalysisInfoContainerUnit::AnalysisInfoContainerUnit
(
double
_x,
string
_str){
34
time
= _x;
35
statement
= _str;
36
associated_branch_ID
= -999;
37
};
38
39
AnalysisInfoContainerUnit::~AnalysisInfoContainerUnit
()
40
{
41
42
}
43
void
AnalysisInfoContainerUnit::setTime
(
double
x){
time
= x;}
44
void
AnalysisInfoContainerUnit::setStatement
(
string
str){
statement
= str;}
45
double
AnalysisInfoContainerUnit::getTime
(){
return
time
;}
46
string
AnalysisInfoContainerUnit::getStatement
(){
return
statement
;}
47
void
AnalysisInfoContainerUnit::saveInfoToFile
(ofstream &fout){
48
string
str;
49
if
(
time
>= 0.0 &&
associated_branch_ID
!= -999){
50
str = to_string(
associated_branch_ID
);
51
fout <<
time
<<
'\t'
<<
" (PE_"
<< str <<
")\t"
<<
statement
<<
'\n'
;
52
}
53
else
if
(
time
>= 0.0){
54
fout <<
time
<<
'\t'
<<
statement
<<
'\n'
;
55
}
56
else
if
(
associated_branch_ID
!= -999){
57
str = to_string(
associated_branch_ID
);
58
fout <<
"(PE_"
<< str <<
")\t"
<<
statement
<<
'\n'
;
59
}
60
else
{
61
fout <<
statement
<<
'\n'
;
62
}
63
}
64
void
AnalysisInfoContainerUnit::copyAnalysisInfoContainerUnit
(
AnalysisInfoContainerUnit
&_ac){
65
time
= _ac.
getTime
();
66
statement
= _ac.
getStatement
();
67
associated_branch_ID
= _ac.
getAssociatedBranchID
();
68
}
69
void
AnalysisInfoContainerUnit::setAssociatedBranchID
(
int
n){
associated_branch_ID
= n;}
70
int
AnalysisInfoContainerUnit::getAssociatedBranchID
(){
return
associated_branch_ID
;}
71
void
AnalysisInfoContainerUnit::saveAnalysisInfoContainerUnitToFile
(ofstream &fout){
72
fout <<
time
<<
' '
<<
'"'
<<
statement
<<
'"'
<<
' '
<<
associated_branch_ID
<<
'\n'
;
73
}
74
void
AnalysisInfoContainerUnit::retrieveAnalysisInfoContainerUnitFromFile
(ifstream &fin){
75
fin >>
time
;
76
this->
readStatementFromFile
(fin);
77
fin >>
associated_branch_ID
;
78
}
79
void
AnalysisInfoContainerUnit::readStatementFromFile
(ifstream &fin){
80
bool
found_statement =
false
;
81
char
ch =
' '
;
82
int
count = 0;
83
statement
=
""
;
84
while
(ch !=
'"'
&& !fin.eof()){
85
fin.get(ch);}
86
do
{
87
fin.get(ch);
88
if
(ch !=
'"'
){
89
statement
+= ch;
90
found_statement =
true
;
91
}
92
count++;
93
}
while
(ch !=
'"'
&& !fin.eof() && count < 500);
94
if
(!found_statement){
95
ofstream fout(
"err messages.txt"
, ios::app);
96
cout <<
"AnalysisInfoContainerUnit::readStatementFromFile: Statement must be embraced by {}"
<< endl;
97
fout <<
r5pars_
.timesno <<
" AnalysisInfoContainerUnit::readStatementFromFile: Statement must be embraced by {}\n"
;
98
fout.close();
99
r5pars_
.sim_err =
true
;
100
g_sim
.
Branch_center
.
setTempESMessage
(
"AnalysisInfoContainerUnit::readStatementFromFile err."
);
101
g_sim
.
Branch_center
.
setTempTypeOfConsequence
(
Consequence::NoKB
);
102
}
103
}
AnalysisInfoContainerUnit.h
Consequence::NoKB
@ NoKB
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
AnalysisInfoContainerUnit
Definition:
AnalysisInfoContainerUnit.h:15
AnalysisInfoContainerUnit::setStatement
void setStatement(std::string s)
Definition:
AnalysisInfoContainerUnit.cpp:44
AnalysisInfoContainerUnit::readStatementFromFile
void readStatementFromFile(std::ifstream &)
Definition:
AnalysisInfoContainerUnit.cpp:79
AnalysisInfoContainerUnit::associated_branch_ID
int associated_branch_ID
Definition:
AnalysisInfoContainerUnit.h:36
AnalysisInfoContainerUnit::setAssociatedBranchID
void setAssociatedBranchID(int id)
Definition:
AnalysisInfoContainerUnit.cpp:69
AnalysisInfoContainerUnit::time
double time
Definition:
AnalysisInfoContainerUnit.h:34
AnalysisInfoContainerUnit::setTime
void setTime(double t)
Definition:
AnalysisInfoContainerUnit.cpp:43
AnalysisInfoContainerUnit::statement
std::string statement
Definition:
AnalysisInfoContainerUnit.h:35
AnalysisInfoContainerUnit::copyAnalysisInfoContainerUnit
void copyAnalysisInfoContainerUnit(AnalysisInfoContainerUnit &)
Definition:
AnalysisInfoContainerUnit.cpp:64
AnalysisInfoContainerUnit::saveInfoToFile
void saveInfoToFile(std::ofstream &)
Definition:
AnalysisInfoContainerUnit.cpp:47
AnalysisInfoContainerUnit::~AnalysisInfoContainerUnit
virtual ~AnalysisInfoContainerUnit()
Definition:
AnalysisInfoContainerUnit.cpp:39
AnalysisInfoContainerUnit::getStatement
std::string getStatement()
Definition:
AnalysisInfoContainerUnit.cpp:46
AnalysisInfoContainerUnit::getTime
double getTime()
Definition:
AnalysisInfoContainerUnit.cpp:45
AnalysisInfoContainerUnit::AnalysisInfoContainerUnit
AnalysisInfoContainerUnit()
Definition:
AnalysisInfoContainerUnit.cpp:22
AnalysisInfoContainerUnit::getAssociatedBranchID
int getAssociatedBranchID()
Definition:
AnalysisInfoContainerUnit.cpp:70
AnalysisInfoContainerUnit::saveAnalysisInfoContainerUnitToFile
void saveAnalysisInfoContainerUnitToFile(std::ofstream &)
Definition:
AnalysisInfoContainerUnit.cpp:71
AnalysisInfoContainerUnit::retrieveAnalysisInfoContainerUnitFromFile
void retrieveAnalysisInfoContainerUnitFromFile(std::ifstream &)
Definition:
AnalysisInfoContainerUnit.cpp:74
BranchRecord::setTempTypeOfConsequence
void setTempTypeOfConsequence(Consequence)
Stores the consequence of the end state the running sequence will get.
Definition:
BranchRecord.cpp:1641
BranchRecord::setTempESMessage
void setTempESMessage(std::string)
Stores the description of the end state the running sequence will get if it is terminated (set by mod...
Definition:
BranchRecord.cpp:1640
r5pars_
struct @0 r5pars_
SimulationContext::Branch_center
BranchRecord Branch_center
Dynamic event tree state.
Definition:
SimulationContext.h:45
src
ADSIDAC
Scheduler
AnalysisInfoContainerUnit.cpp
Generated by
1.9.4