00001 00017 // this class header 00018 #include "DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTrigger.h" 00019 00020 // system include files 00021 #include <iomanip> 00022 00023 // user include files 00024 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00025 00026 // constructors 00027 L1GtTechnicalTrigger::L1GtTechnicalTrigger() 00028 { 00029 00030 // empty 00031 00032 } 00033 00034 L1GtTechnicalTrigger::L1GtTechnicalTrigger(const std::string& ttName, 00035 const unsigned int ttBitNumber, const int ttBxInEvent, 00036 const bool ttResult) : 00037 m_gtTechnicalTriggerName(ttName), 00038 m_gtTechnicalTriggerBitNumber(ttBitNumber), 00039 m_bxInEvent(ttBxInEvent), m_gtTechnicalTriggerResult(ttResult) 00040 00041 { 00042 00043 // empty 00044 00045 } 00046 00047 // copy constructor 00048 L1GtTechnicalTrigger::L1GtTechnicalTrigger(const L1GtTechnicalTrigger& result) 00049 { 00050 00051 m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName; 00052 m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber; 00053 m_bxInEvent = result.m_bxInEvent; 00054 m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult; 00055 } 00056 00057 // destructor 00058 L1GtTechnicalTrigger::~L1GtTechnicalTrigger() 00059 { 00060 00061 // empty now 00062 00063 } 00064 00065 // assignment operator 00066 L1GtTechnicalTrigger& L1GtTechnicalTrigger::operator=( 00067 const L1GtTechnicalTrigger& result) 00068 { 00069 00070 if ( this != &result ) { 00071 00072 m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName; 00073 m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber; 00074 m_bxInEvent = result.m_bxInEvent; 00075 m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult; 00076 00077 } 00078 00079 return *this; 00080 00081 } 00082 00083 // equal operator 00084 bool L1GtTechnicalTrigger::operator==( 00085 const L1GtTechnicalTrigger& result) const 00086 { 00087 00088 if (m_gtTechnicalTriggerName != result.m_gtTechnicalTriggerName) { 00089 return false; 00090 } 00091 00092 if (m_gtTechnicalTriggerBitNumber != result.m_gtTechnicalTriggerBitNumber) { 00093 return false; 00094 } 00095 00096 if (m_bxInEvent != result.m_bxInEvent) { 00097 return false; 00098 } 00099 00100 if (m_gtTechnicalTriggerResult != result.m_gtTechnicalTriggerResult) { 00101 return false; 00102 } 00103 00104 // all members identical 00105 return true; 00106 00107 } 00108 00109 // unequal operator 00110 bool L1GtTechnicalTrigger::operator!=( 00111 const L1GtTechnicalTrigger& result) const 00112 { 00113 00114 return !( result == *this); 00115 00116 } 00117 // methods 00118 00119 // set technical trigger name, bit number and result 00120 00121 void L1GtTechnicalTrigger::setGtTechnicalTriggerName(const std::string& ttName) 00122 { 00123 00124 m_gtTechnicalTriggerName = ttName; 00125 00126 } 00127 00128 // set decision word 00129 void L1GtTechnicalTrigger::setGtTechnicalTriggerBitNumber( 00130 const unsigned int ttBitNumber) 00131 { 00132 00133 m_gtTechnicalTriggerBitNumber = ttBitNumber; 00134 00135 } 00136 00137 void L1GtTechnicalTrigger::setBxInEvent(const int bxInEventValue) 00138 { 00139 00140 m_bxInEvent = bxInEventValue; 00141 00142 } 00143 00144 void L1GtTechnicalTrigger::setGtTechnicalTriggerResult(const bool ttResult) 00145 { 00146 00147 m_gtTechnicalTriggerResult = ttResult; 00148 00149 } 00150 00151 // pretty print the content of a L1GtTechnicalTrigger 00152 void L1GtTechnicalTrigger::print(std::ostream& myCout) const 00153 { 00154 00155 myCout << std::endl; 00156 myCout << std::endl; 00157 myCout << "\nTechnical trigger name: " << m_gtTechnicalTriggerName << std::endl; 00158 myCout << " bit number" << m_gtTechnicalTriggerBitNumber << std::endl; 00159 myCout << " bxInEvent" << m_bxInEvent << std::endl; 00160 myCout << " result" << m_gtTechnicalTriggerResult << std::endl; 00161 00163 } 00164 00165 // output stream operator 00166 std::ostream& operator<<(std::ostream& streamRec, 00167 const L1GtTechnicalTrigger& result) 00168 { 00169 result.print(streamRec); 00170 return streamRec; 00171 00172 }