Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:30

0001 /**
0002  * \class L1GtTechnicalTrigger
0003  *
0004  *
0005  * Description: technical trigger input record for L1 Global Trigger.
0006  *
0007  * Implementation:
0008  *    <TODO: enter implementation details>
0009  *
0010  * \author: Vasile Mihai Ghete   - HEPHY Vienna
0011  *
0012  *
0013  */
0014 
0015 // this class header
0016 #include "DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTrigger.h"
0017 
0018 // system include files
0019 #include <iomanip>
0020 
0021 // user include files
0022 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0023 
0024 // constructors
0025 L1GtTechnicalTrigger::L1GtTechnicalTrigger()
0026     : m_gtTechnicalTriggerName(""),
0027       m_gtTechnicalTriggerBitNumber(0),
0028       m_bxInEvent(0),
0029       m_gtTechnicalTriggerResult(false) {
0030   // empty
0031 }
0032 
0033 L1GtTechnicalTrigger::L1GtTechnicalTrigger(const std::string& ttName,
0034                                            const unsigned int ttBitNumber,
0035                                            const int ttBxInEvent,
0036                                            const bool ttResult)
0037     : m_gtTechnicalTriggerName(ttName),
0038       m_gtTechnicalTriggerBitNumber(ttBitNumber),
0039       m_bxInEvent(ttBxInEvent),
0040       m_gtTechnicalTriggerResult(ttResult)
0041 
0042 {
0043   // empty
0044 }
0045 
0046 // copy constructor
0047 L1GtTechnicalTrigger::L1GtTechnicalTrigger(const L1GtTechnicalTrigger& result) {
0048   m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName;
0049   m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber;
0050   m_bxInEvent = result.m_bxInEvent;
0051   m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult;
0052 }
0053 
0054 // destructor
0055 L1GtTechnicalTrigger::~L1GtTechnicalTrigger() {
0056   // empty now
0057 }
0058 
0059 // assignment operator
0060 L1GtTechnicalTrigger& L1GtTechnicalTrigger::operator=(const L1GtTechnicalTrigger& result) {
0061   if (this != &result) {
0062     m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName;
0063     m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber;
0064     m_bxInEvent = result.m_bxInEvent;
0065     m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult;
0066   }
0067 
0068   return *this;
0069 }
0070 
0071 // equal operator
0072 bool L1GtTechnicalTrigger::operator==(const L1GtTechnicalTrigger& result) const {
0073   if (m_gtTechnicalTriggerName != result.m_gtTechnicalTriggerName) {
0074     return false;
0075   }
0076 
0077   if (m_gtTechnicalTriggerBitNumber != result.m_gtTechnicalTriggerBitNumber) {
0078     return false;
0079   }
0080 
0081   if (m_bxInEvent != result.m_bxInEvent) {
0082     return false;
0083   }
0084 
0085   if (m_gtTechnicalTriggerResult != result.m_gtTechnicalTriggerResult) {
0086     return false;
0087   }
0088 
0089   // all members identical
0090   return true;
0091 }
0092 
0093 // unequal operator
0094 bool L1GtTechnicalTrigger::operator!=(const L1GtTechnicalTrigger& result) const { return !(result == *this); }
0095 // methods
0096 
0097 // set technical trigger name, bit number and result
0098 
0099 void L1GtTechnicalTrigger::setGtTechnicalTriggerName(const std::string& ttName) { m_gtTechnicalTriggerName = ttName; }
0100 
0101 // set decision word
0102 void L1GtTechnicalTrigger::setGtTechnicalTriggerBitNumber(const unsigned int ttBitNumber) {
0103   m_gtTechnicalTriggerBitNumber = ttBitNumber;
0104 }
0105 
0106 void L1GtTechnicalTrigger::setBxInEvent(const int bxInEventValue) { m_bxInEvent = bxInEventValue; }
0107 
0108 void L1GtTechnicalTrigger::setGtTechnicalTriggerResult(const bool ttResult) { m_gtTechnicalTriggerResult = ttResult; }
0109 
0110 // pretty print the content of a L1GtTechnicalTrigger
0111 void L1GtTechnicalTrigger::print(std::ostream& myCout) const {
0112   myCout << std::endl;
0113   myCout << std::endl;
0114   myCout << "\nTechnical trigger name: " << m_gtTechnicalTriggerName << std::endl;
0115   myCout << "   bit number" << m_gtTechnicalTriggerBitNumber << std::endl;
0116   myCout << "   bxInEvent" << m_bxInEvent << std::endl;
0117   myCout << "   result" << m_gtTechnicalTriggerResult << std::endl;
0118 
0119   /// bunch cross in the GT event record
0120 }
0121 
0122 // output stream operator
0123 std::ostream& operator<<(std::ostream& streamRec, const L1GtTechnicalTrigger& result) {
0124   result.print(streamRec);
0125   return streamRec;
0126 }