38 TCS_EXCEPTION(
"Trigger line '" << trigger.
name() <<
"' has been defined more than once");
41 if(!inscount.second) {
42 string triggerWithSameCounter(
"");
44 if(tl.counter() == trigger.
counter())
45 triggerWithSameCounter = tl.name();
46 TCS_EXCEPTION(
"Trigger line '" << trigger.
name() <<
"' is on the same output line (" << trigger.
counter() <<
") as trigger line '" << triggerWithSameCounter <<
"'");
56 if(t.name() == trigger)
return true;
64 if(t.name() == trigger)
return t;
82 o <<
"Trigger lines (sorted by connectors):" << endl;
84 if(trigger.counter() % 32 == 0) {
86 o << endl <<
"Module=" << trigger.module() <<
", FPGA=" << trigger.fpga() << endl;
87 o <<
"----------------" << endl;
89 o <<
" " << setiosflags(ios::left) << setw(30) << trigger.name() <<
" (algorithm " << trigger.algoname() <<
" (id=" << trigger.algoid() <<
"))"
90 <<
" on line " << trigger.bit() <<
" and clock " << trigger.clock() << endl;
96 o << trigger.
counter() <<
" : " << trigger.
name() <<
" [" << trigger.
module() <<
"/" << trigger.
fpga() <<
"/" << trigger.
clock() <<
"/" << trigger.
bit() <<
"]";
#define TCS_EXCEPTION(MSG)
const TXC::TriggerLine & getTrigger(const std::string &trigger) const
bool hasTrigger(const std::string &trigger) const
std::unordered_set< unsigned int > m_triggercounters
std::unordered_set< std::string > m_triggernames
std::vector< OutputListElement > m_outputListElements
void addTriggerLine(const TriggerLine &trigger)
std::vector< TriggerLine > m_triggerlines
void addOutputListElement(const OutputListElement &output)
unsigned int fpga() const
unsigned int counter() const
unsigned int module() const
const std::string & name() const
unsigned int clock() const
std::ostream & operator<<(std::ostream &, const TXC::L1TopoConfigAlg &)
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.