51 int minBxInEvent = (NumberBxInEvent + 1)/2 - NumberBxInEvent;
56 for (
int iFdl = 0; iFdl < NumberBxInEvent; ++iFdl) {
57 int iBxInEvent = minBxInEvent + iFdl;
64 const int numberBxInEvent,
65 const int numberFdlBoards)
75 if (numberFdlBoards > 0) {
106 if (
this != &result ) {
145 return !( result == *
this);
156 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
159 if ( (*itBx).bxInEvent() == bxInEventValue ) {
160 return (*itBx).finalOR();
167 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n" 168 <<
"Can not return global decision for this bx!\n" 175 int bxInEventValue)
const 178 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
181 if ( (*itBx).bxInEvent() == bxInEventValue ) {
182 return (*itBx).gtDecisionWord();
189 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n" 190 <<
"Can not return decision word for this bx!\n" 201 int bxInEventL1Accept = 0;
209 int bxInEventL1Accept = 0;
219 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
222 if ( (*itBx).bxInEvent() == bxInEventValue ) {
223 (*itBx).setFinalOR(static_cast<uint16_t> (t));
230 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n" 231 <<
"Can not set global decision for this bx!\n" 241 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
244 if ( (*itBx).bxInEvent() == bxInEventValue ) {
245 (*itBx).setGtDecisionWord (decisionWordValue);
252 <<
"\nError: requested GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n" 253 <<
"Can not set decision word for this bx!\n" 262 int bxInEventL1Accept = 0;
270 int bxInEventL1Accept = 0;
277 std::ostream& myCout,
int bxInEventValue)
const 280 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
283 if ( (*itBx).bxInEvent() == bxInEventValue ) {
285 myCout <<
"\nL1 Global Trigger Record: " << std::endl;
288 <<
"\t Bunch cross " << bxInEventValue
290 <<
"\t Global Decision = " << std::setw(5) << (*itBx).globalDecision()
292 <<
"\t Decision word (bitset style) = ";
294 (*itBx).printGtDecisionWord(myCout);
305 int bxInEventL1Accept = 0;
312 std::ostream& myCout,
int bxInEventValue
316 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
319 if ( (*itBx).bxInEvent() == bxInEventValue ) {
321 myCout <<
"\nL1 Global Trigger Record: " << std::endl;
324 <<
"\t Bunch cross " << bxInEventValue
326 <<
"\t Technical Trigger word (bitset style) = ";
328 (*itBx).printGtTechnicalTriggerWord(myCout);
339 int bxInEventL1Accept = 0;
380 for (std::vector<L1GtFdlWord>::const_iterator itBx =
m_gtFdlWord.begin();
383 if ( (*itBx).bxInEvent() == bxInEventValue ) {
391 <<
"\nError: requested L1GtFdlWord for bx = " << bxInEventValue <<
" does not exist.\n" 402 int bxInEventL1Accept = 0;
407 const L1GtFdlWord& gtFdlWordValue,
int bxInEventValue)
411 for (std::vector<L1GtFdlWord>::iterator itBx =
m_gtFdlWord.begin();
414 if ( (*itBx).bxInEvent() == bxInEventValue ) {
415 *itBx = gtFdlWordValue;
416 LogDebug(
"L1GlobalTriggerEvmReadoutRecord")
417 <<
"Replacing L1GtFdlWord for bunch bx = " << bxInEventValue <<
"\n" 427 <<
"\nError: Cannot set L1GtFdlWord for bx = " << bxInEventValue
455 myCout <<
"\n L1GlobalTriggerEvmReadoutRecord::print \n" << std::endl;
461 for (std::vector<L1GtFdlWord>::const_iterator itFdl =
m_gtFdlWord.begin();
464 itFdl->print(myCout);
475 s <<
"Not available yet - sorry";
virtual ~L1GlobalTriggerEvmReadoutRecord()
destructor
std::vector< L1GtFdlWord > m_gtFdlWord
void printTechnicalTrigger(std::ostream &myCout, int bxInEventValue) const
print technical triggers
void print(std::ostream &myCout) const override
pretty print the content of a L1GtfeExtWord
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
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 &)
L1GlobalTriggerEvmReadoutRecord()
constructors
friend std::ostream & operator<<(std::ostream &, const L1GlobalTriggerEvmReadoutRecord &)
output stream operator