16 GlobalDecision::setTriggerLines(
const vector<TrigConf::TriggerLine> &
triggers) {
19 vector<string> connNames = {};
21 auto it =
find(connNames.begin(), connNames.end(), trigger.connName());
22 if (
it == connNames.end()){
23 connNames.push_back(trigger.connName());
24 m_decision[trigger.connName()] = 0;
30 GlobalDecision::decision_field(
const string& connName,
unsigned int clock)
const {
34 return (
uint32_t) (m_decision.at(connName) & 0xffffffff);
37 uint64_t clock1 = m_decision.at(connName) & 0xffffffff00000000;
48 GlobalDecision::overflow_field(
const std::string& connName,
unsigned int clock)
const {
51 return (
uint32_t) (m_overflow.find(connName)->second & 0xffffffff);
54 uint64_t clock1 = m_overflow.find(connName)->second & 0xffffffff00000000;
60 GlobalDecision::GlobalDecision(
const std::string &
name) :
61 TrigConfMessaging(
name)
82 unsigned int position = trigger.flatindex();
89 connectorDec |= (
mask << position);
91 connectorOvf |= (
mask << position);
118 o <<
"Note that the overall decision has not been calculated" << endl;
121 o <<
"Overall decision for connector " << itdec.first <<
": 0x" << right << hex << setfill(
'0') << setw(16) << dec.
decision_field(itdec.first) << std::dec << setfill(
' ') << endl;
125 unsigned int position = trigger.
flatindex();
126 o <<
" " << setw(30) << left << trigger.
name() <<
" " << (dec.
passed(trigger.
connName(), position) ?
"pass" :
"fail") << endl;}
129 o <<
" " << setw(30) << left << trigger.
name() <<
" unset" << endl;
138 TRG_MSG_INFO(
"Note that the overall decision has not been calculated");
141 TRG_MSG_INFO(
"Overall decision from connector " << dec.first <<
": 0x" << right << hex << setfill(
'0') << setw(16) <<
decision_field(dec.first) << std::dec << setfill(
' '));
145 unsigned int position = trigger.flatindex();
146 TRG_MSG_INFO(
" " << setw(30) << left << trigger.name() <<
" " << (
passed(trigger.connName(), position) ?
"pass" :
"fail") );}
149 TRG_MSG_INFO(
" " << setw(30) << left << trigger.name() <<
" unset" );