53 int minBxInEvent = (NumberBxInEvent + 1)/2 - NumberBxInEvent;
58 for (
int iFdl = 0; iFdl < NumberBxInEvent; ++iFdl) {
59 int iBxInEvent = minBxInEvent + iFdl;
66 const int numberBxInEvent,
67 const int numberFdlBoards)
77 if (numberFdlBoards > 0) {
108 if (
this != &result ) {
147 return !( result == *
this);
158 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
161 if ( (*itBx).bxInEvent() == bxInEventValue ) {
162 return (*itBx).finalOR();
169 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n"
170 <<
"Can not return global decision for this bx!\n"
177 int bxInEventValue)
const
180 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
183 if ( (*itBx).bxInEvent() == bxInEventValue ) {
184 return (*itBx).gtDecisionWord();
191 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n"
192 <<
"Can not return decision word for this bx!\n"
203 int bxInEventL1Accept = 0;
211 int bxInEventL1Accept = 0;
221 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
224 if ( (*itBx).bxInEvent() == bxInEventValue ) {
225 (*itBx).setFinalOR(static_cast<uint16_t> (t));
232 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n"
233 <<
"Can not set global decision for this bx!\n"
243 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
246 if ( (*itBx).bxInEvent() == bxInEventValue ) {
247 (*itBx).setGtDecisionWord (decisionWordValue);
254 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n"
255 <<
"Can not set decision word for this bx!\n"
264 int bxInEventL1Accept = 0;
272 int bxInEventL1Accept = 0;
279 std::ostream& myCout,
int bxInEventValue)
const
282 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
285 if ( (*itBx).bxInEvent() == bxInEventValue ) {
287 myCout <<
"\nL1 Global Trigger Record: " << std::endl;
290 <<
"\t Bunch cross " << bxInEventValue
292 <<
"\t Global Decision = " << std::setw(5) << (*itBx).globalDecision()
294 <<
"\t Decision word (bitset style) = ";
296 (*itBx).printGtDecisionWord(myCout);
307 int bxInEventL1Accept = 0;
314 std::ostream& myCout,
int bxInEventValue
318 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
321 if ( (*itBx).bxInEvent() == bxInEventValue ) {
323 myCout <<
"\nL1 Global Trigger Record: " << std::endl;
326 <<
"\t Bunch cross " << bxInEventValue
328 <<
"\t Technical Trigger word (bitset style) = ";
330 (*itBx).printGtTechnicalTriggerWord(myCout);
341 int bxInEventL1Accept = 0;
382 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
385 if ( (*itBx).bxInEvent() == bxInEventValue ) {
393 <<
"\nError: requested L1GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n"
404 int bxInEventL1Accept = 0;
409 const L1GtFdlWord& gtFdlWordValue,
int bxInEventValue)
413 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
416 if ( (*itBx).bxInEvent() == bxInEventValue ) {
417 *itBx = gtFdlWordValue;
418 LogDebug(
"L1GlobalTriggerEvmReadoutRecord")
419 <<
"Replacing L1GtFdlWord for bunch bx = " << bxInEventValue <<
"\n"
429 <<
"\nError: Cannot set L1GtFdlWord for bx = " << bxInEventValue
457 myCout <<
"\n L1GlobalTriggerEvmReadoutRecord::print \n" << std::endl;
463 for (std::vector<L1GtFdlWord>::const_iterator itFdl =
m_gtFdlWord.begin();
466 itFdl->print(myCout);
477 s <<
"Not available yet - sorry";
virtual ~L1GlobalTriggerEvmReadoutRecord()
destructor
std::vector< L1GtFdlWord > m_gtFdlWord
void printTechnicalTrigger(std::ostream &myCout, int bxInEventValue) const
print technical triggers
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
const L1TcsWord tcsWord() const
get / set TCS word (record) in the GT readout record
bool operator==(const L1GlobalTriggerEvmReadoutRecord &) const
equal operator
const bool decision() const
void print(std::ostream &myCout) const
pretty print the content of a L1GlobalTriggerEvmReadoutRecord
std::ostream & operator<<(std::ostream &out, const ALILine &li)
void setDecisionWord(const DecisionWord &decisionWordValue, int bxInEvent)
const DecisionWord decisionWord() const
bool operator!=(const L1GlobalTriggerEvmReadoutRecord &) const
unequal operator
void print(std::ostream &myCout) const
pretty print the content of a L1TcsWord
L1GlobalTriggerEvmReadoutRecord & operator=(const L1GlobalTriggerEvmReadoutRecord &)
assignment operator
std::vector< bool > DecisionWord
typedefs
void setDecision(bool t, int bxInEvent)
set global decision and the decision word
void setGtfeWord(const L1GtfeExtWord &)
void setGtFdlWord(const L1GtFdlWord &, int bxInEvent)
const L1GtFdlWord gtFdlWord() const
void reset()
clear the record
void printGtDecision(std::ostream &myCout, int bxInEventValue) const
print global decision and algorithm decision word
void setTcsWord(const L1TcsWord &)
virtual void print(std::ostream &myCout) const
pretty print the content of a L1GtfeExtWord
L1GlobalTriggerEvmReadoutRecord()
constructors