CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/L1GlobalTrigger/src/L1GtTechnicalTrigger.cc

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