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();