←
Documentation
ADS-IDAC Engine
5.0.0
HardWiredControlActivity.cpp
Go to the documentation of this file.
1
// HardWiredControlActivity.cpp: implementation of the HardWiredControlActivity class.
2
//
4
5
#include <math.h>
6
7
#include "
HardWiredControlActivity.h
"
8
#include "../Branch/BranchRecord.h"
9
#include <boost/serialization/export.hpp>
10
#include "../Global/SimulationContext.h"
11
#include <boost/archive/binary_oarchive.hpp>
12
#include <boost/archive/binary_iarchive.hpp>
13
BOOST_CLASS_EXPORT_IMPLEMENT(
HardWiredControlActivity
)
14
using namespace
std;
15
16
18
// Construction/Destruction
20
21
HardWiredControlActivity::HardWiredControlActivity
()
22
{
23
this->
setTypeOfExpectation
(
static_cast<
int
>
(
DisplayType::ControlValue
));
24
expected_value
= -999.0;
25
}
26
27
HardWiredControlActivity::~HardWiredControlActivity
()
28
{
29
30
}
31
void
HardWiredControlActivity::copyHardWiredControlActivity
(
HardWiredControlActivity
&_hca){
32
this->
copyExpectationElement
(_hca);
33
this->
copyKBElement
(_hca);
34
expected_value
= _hca.
getExpectedValue
();
35
}
36
void
HardWiredControlActivity::setExpectedValue
(
double
x){
expected_value
= x;}
37
double
HardWiredControlActivity::getExpectedValue
(){
return
expected_value
;}
38
void
HardWiredControlActivity::readInfoFromFile
(ifstream &fin){
39
string
str;
40
fin >> str >>
expected_value
;
41
this->
setInfoName
(str);
42
}
43
int
HardWiredControlActivity::checkForMatch
(
string
_name,
double
_value){
44
string
str = this->
getInfoName
();
45
int
n_return = 0;
46
if
(_name.compare(str) == 0){
47
if
(fabs(_value - 9999.0) < 0.001){
//if expected_value is set to 9999, only action is needed for success (control value not needed)
48
n_return =
ExpectationElement::updateExpectation
(
sim::State::Succeed
);
49
}
50
else
{
51
if
(fabs(
expected_value
- _value) < 0.001){
52
n_return =
ExpectationElement::updateExpectation
(
sim::State::Succeed
);
53
}
54
else
{
55
n_return =
ExpectationElement::updateExpectation
(
sim::State::Failed
);
56
}
57
}
58
}
59
else
{
60
n_return = 0;
61
}
62
return
n_return;
63
}
64
void
HardWiredControlActivity::saveHardWiredControlActivityToFile
(ofstream &fout){
65
fout <<
"HardWiredControlActivity "
<<
expected_value
<<
'\n'
;
66
this->
saveKBElementToFile
(fout);
67
this->
saveExpectationElementToFile
(fout);
68
}
69
void
HardWiredControlActivity::retrieveHardWiredControlActivityFromFile
(ifstream &fin){
70
string
str;
71
fin >> str >>
expected_value
;
72
if
(str !=
"HardWiredControlActivity"
){
73
ofstream fout(
"err messages.txt"
, ios::app);
74
cout <<
"HardWiredControlActivity::retrieveHardWiredControlActivityFromFile in previous function"
<< endl;
75
fout <<
r5pars_
.timesno <<
" HardWiredControlActivity::retrieveHardWiredControlActivityFromFile error in previous function\n"
;
76
fout.close();
77
r5pars_
.sim_err =
true
;
78
g_sim
.
Branch_center
.
setTempESMessage
(
"HardWiredControlActivity::retrieveHardWiredControlActivityFromFile Prior error"
);
79
g_sim
.
Branch_center
.
setTempTypeOfConsequence
(
Consequence::NoKB
);
80
return
;
81
}
82
this->
retrieveKBElementFromFile
(fin);
83
this->
retrieveExpectationElementFromFile
(fin);
84
}
HardWiredControlActivity.h
DisplayType::ControlValue
@ ControlValue
Consequence::NoKB
@ NoKB
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
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
ExpectationElement::saveExpectationElementToFile
void saveExpectationElementToFile(std::ofstream &)
Definition:
ExpectationElement.cpp:75
ExpectationElement::retrieveExpectationElementFromFile
void retrieveExpectationElementFromFile(std::ifstream &)
Definition:
ExpectationElement.cpp:78
ExpectationElement::setTypeOfExpectation
void setTypeOfExpectation(int)
Definition:
ExpectationElement.cpp:73
ExpectationElement::updateExpectation
int updateExpectation(int)
Definition:
ExpectationElement.cpp:29
ExpectationElement::copyExpectationElement
void copyExpectationElement(ExpectationElement &)
Definition:
ExpectationElement.cpp:69
HardWiredControlActivity
Definition:
HardWiredControlActivity.h:18
HardWiredControlActivity::saveHardWiredControlActivityToFile
void saveHardWiredControlActivityToFile(std::ofstream &)
Definition:
HardWiredControlActivity.cpp:64
HardWiredControlActivity::checkForMatch
int checkForMatch(std::string, double)
Definition:
HardWiredControlActivity.cpp:43
HardWiredControlActivity::retrieveHardWiredControlActivityFromFile
void retrieveHardWiredControlActivityFromFile(std::ifstream &)
Definition:
HardWiredControlActivity.cpp:69
HardWiredControlActivity::HardWiredControlActivity
HardWiredControlActivity()
Definition:
HardWiredControlActivity.cpp:21
HardWiredControlActivity::getExpectedValue
double getExpectedValue()
Definition:
HardWiredControlActivity.cpp:37
HardWiredControlActivity::readInfoFromFile
void readInfoFromFile(std::ifstream &)
Definition:
HardWiredControlActivity.cpp:38
HardWiredControlActivity::setExpectedValue
void setExpectedValue(double)
Definition:
HardWiredControlActivity.cpp:36
HardWiredControlActivity::copyHardWiredControlActivity
void copyHardWiredControlActivity(HardWiredControlActivity &)
Definition:
HardWiredControlActivity.cpp:31
HardWiredControlActivity::~HardWiredControlActivity
virtual ~HardWiredControlActivity()
Definition:
HardWiredControlActivity.cpp:27
HardWiredControlActivity::expected_value
double expected_value
Definition:
HardWiredControlActivity.h:30
KBElement::setInfoName
void setInfoName(std::string)
Definition:
KBElement.cpp:25
KBElement::retrieveKBElementFromFile
void retrieveKBElementFromFile(std::ifstream &)
Definition:
KBElement.cpp:36
KBElement::saveKBElementToFile
void saveKBElementToFile(std::ofstream &)
Definition:
KBElement.cpp:33
KBElement::copyKBElement
void copyKBElement(KBElement &)
Definition:
KBElement.cpp:30
KBElement::getInfoName
std::string getInfoName()
Definition:
KBElement.cpp:26
r5pars_
struct @0 r5pars_
sim::State::Failed
constexpr int Failed
Definition:
SimConstants.h:103
sim::State::Succeed
constexpr int Succeed
Definition:
SimConstants.h:104
SimulationContext::Branch_center
BranchRecord Branch_center
Dynamic event tree state.
Definition:
SimulationContext.h:45
src
ADSIDAC
Crew
HardWiredControlActivity.cpp
Generated by
1.9.4