CMS 3D CMS Logo

L1GlobalTriggerRecord Class Reference

Description: stripped-down record for L1 Global Trigger. More...

#include <DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerRecord.h>

List of all members.

Public Member Functions

const bool decision () const
 get Global Trigger decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)
const DecisionWord decisionWord () const
const DecisionWord decisionWordBeforeMask () const
const unsigned int gtPrescaleFactorIndexAlgo () const
const unsigned int gtPrescaleFactorIndexTech () const
 get/set index of the set of prescale factors
 L1GlobalTriggerRecord (const L1GlobalTriggerRecord &)
 copy constructor
 L1GlobalTriggerRecord (const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers)
 L1GlobalTriggerRecord ()
 constructors
bool operator!= (const L1GlobalTriggerRecord &) const
 unequal operator
L1GlobalTriggerRecordoperator= (const L1GlobalTriggerRecord &)
 assignment operator
bool operator== (const L1GlobalTriggerRecord &) const
 equal operator
void print (std::ostream &myCout) const
 pretty print the content of a L1GlobalTriggerRecord
void printGtDecision (std::ostream &myCout) const
 print global decision and algorithm decision word
void printTechnicalTrigger (std::ostream &myCout) const
 print technical triggers
void reset ()
 clear the record
void setDecision (const bool &dValue)
 set global decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)
void setDecisionWord (const DecisionWord &dWordValue)
void setDecisionWordBeforeMask (const DecisionWord &dWordValue)
void setGtPrescaleFactorIndexAlgo (const unsigned int &gtPrescaleFactorIndexAlgoValue)
void setGtPrescaleFactorIndexTech (const unsigned int &gtPrescaleFactorIndexTechValue)
void setTechnicalTriggerWord (const TechnicalTriggerWord &ttWordValue)
void setTechnicalTriggerWordBeforeMask (const TechnicalTriggerWord &ttWordValue)
const TechnicalTriggerWord technicalTriggerWord () const
const TechnicalTriggerWord technicalTriggerWordBeforeMask () const
virtual ~L1GlobalTriggerRecord ()
 destructor

Private Attributes

DecisionWord m_gtDecisionWord
 algorithm decision word for L1A bunch cross
DecisionWord m_gtDecisionWordBeforeMask
 algorithm decision word for L1A bunch cross before applying the masks
bool m_gtGlobalDecision
 global decision for L1A bunch cross
unsigned int m_gtPrescaleFactorIndexAlgo
unsigned int m_gtPrescaleFactorIndexTech
 index of the set of prescale factors in the DB/EventSetup for algorithm triggers and technical triggers
TechnicalTriggerWord m_gtTechnicalTriggerWord
 technical trigger word for L1A bunch cross
TechnicalTriggerWord m_gtTechnicalTriggerWordBeforeMask
 technical trigger word for L1A bunch cross before applying the masks

Friends

std::ostream & operator<< (std::ostream &, const L1GlobalTriggerRecord &)
 output stream operator


Detailed Description

Description: stripped-down record for L1 Global Trigger.

Implementation: <TODO: enter implementation details>

Author:
: Vasile Mihai Ghete - HEPHY Vienna
$Date$ $Revision$

Definition at line 35 of file L1GlobalTriggerRecord.h.


Constructor & Destructor Documentation

L1GlobalTriggerRecord::L1GlobalTriggerRecord (  ) 

constructors

Definition at line 28 of file L1GlobalTriggerRecord.cc.

00029 {
00030 
00031     // empty 
00032 
00033 }

L1GlobalTriggerRecord::L1GlobalTriggerRecord ( const unsigned int  numberPhysTriggers,
const unsigned int  numberTechnicalTriggers 
)

Definition at line 35 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

00036                                                     {
00037     
00038     m_gtDecisionWord.reserve(numberPhysTriggers);
00039     m_gtTechnicalTriggerWord.reserve(numberTechnicalTriggers);
00040 
00041     m_gtDecisionWordBeforeMask.reserve(numberPhysTriggers);
00042     m_gtTechnicalTriggerWordBeforeMask.reserve(numberTechnicalTriggers);
00043     
00044 }

L1GlobalTriggerRecord::L1GlobalTriggerRecord ( const L1GlobalTriggerRecord result  ) 

copy constructor

Definition at line 47 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

L1GlobalTriggerRecord::~L1GlobalTriggerRecord (  )  [virtual]

destructor

Definition at line 65 of file L1GlobalTriggerRecord.cc.

00066 {
00067 
00068     // empty now
00069 
00070 }


Member Function Documentation

const bool L1GlobalTriggerRecord::decision (  )  const [inline]

get Global Trigger decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)

Definition at line 65 of file L1GlobalTriggerRecord.h.

References m_gtGlobalDecision.

00065                                        {
00066         return m_gtGlobalDecision;
00067     }

const DecisionWord L1GlobalTriggerRecord::decisionWord (  )  const [inline]

Definition at line 69 of file L1GlobalTriggerRecord.h.

References m_gtDecisionWord.

00069                                                    {
00070         return m_gtDecisionWord;
00071     }

const DecisionWord L1GlobalTriggerRecord::decisionWordBeforeMask (  )  const [inline]

Definition at line 77 of file L1GlobalTriggerRecord.h.

References m_gtDecisionWordBeforeMask.

00077                                                              {
00078         return m_gtDecisionWordBeforeMask;
00079     }

const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexAlgo (  )  const [inline]

Definition at line 106 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexAlgo.

00106                                                                 {
00107         return m_gtPrescaleFactorIndexAlgo;
00108     }

const unsigned int L1GlobalTriggerRecord::gtPrescaleFactorIndexTech (  )  const [inline]

get/set index of the set of prescale factors

Definition at line 97 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexTech.

00097                                                                 {
00098         return m_gtPrescaleFactorIndexTech;
00099     }

bool L1GlobalTriggerRecord::operator!= ( const L1GlobalTriggerRecord result  )  const

unequal operator

Definition at line 134 of file L1GlobalTriggerRecord.cc.

00136 {
00137 
00138     return !( result == *this);
00139 
00140 }

L1GlobalTriggerRecord & L1GlobalTriggerRecord::operator= ( const L1GlobalTriggerRecord result  ) 

assignment operator

Definition at line 73 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

00075 {
00076 
00077     if ( this != &result ) {
00078 
00079         m_gtGlobalDecision = result.m_gtGlobalDecision;
00080 
00081         m_gtDecisionWord = result.m_gtDecisionWord;
00082         m_gtTechnicalTriggerWord = result.m_gtTechnicalTriggerWord;
00083 
00084         m_gtDecisionWordBeforeMask = result.m_gtDecisionWordBeforeMask;
00085         m_gtTechnicalTriggerWordBeforeMask = result.m_gtTechnicalTriggerWordBeforeMask;
00086 
00087         m_gtPrescaleFactorIndexTech = result.m_gtPrescaleFactorIndexTech;
00088         m_gtPrescaleFactorIndexAlgo = result.m_gtPrescaleFactorIndexAlgo;
00089     }
00090 
00091     return *this;
00092 
00093 }

bool L1GlobalTriggerRecord::operator== ( const L1GlobalTriggerRecord result  )  const

equal operator

Definition at line 96 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

00098 {
00099 
00100     if (m_gtGlobalDecision != result.m_gtGlobalDecision) {
00101         return false;
00102     }
00103     
00104     if (m_gtDecisionWord != result.m_gtDecisionWord) {
00105         return false;
00106     }
00107     
00108     if (m_gtTechnicalTriggerWord != result.m_gtTechnicalTriggerWord) {
00109         return false;
00110     }
00111 
00112     if (m_gtDecisionWordBeforeMask != result.m_gtDecisionWordBeforeMask) {
00113         return false;
00114     }
00115     
00116     if (m_gtTechnicalTriggerWordBeforeMask != result.m_gtTechnicalTriggerWordBeforeMask) {
00117         return false;
00118     }
00119 
00120     if (m_gtPrescaleFactorIndexTech != result.m_gtPrescaleFactorIndexTech) {
00121         return false;
00122     }
00123     
00124     if (m_gtPrescaleFactorIndexAlgo != result.m_gtPrescaleFactorIndexAlgo) {
00125         return false;
00126     }
00127 
00128     // all members identical
00129     return true;
00130 
00131 }

void L1GlobalTriggerRecord::print ( std::ostream &  myCout  )  const

pretty print the content of a L1GlobalTriggerRecord

Definition at line 306 of file L1GlobalTriggerRecord.cc.

References lat::endl(), m_gtPrescaleFactorIndexTech, printGtDecision(), and printTechnicalTrigger().

Referenced by operator<<().

00307 {
00308 
00309     printGtDecision(myCout);
00310     
00311     myCout << std::endl;
00312         
00313     printTechnicalTrigger(myCout);
00314     
00315     myCout << std::endl;
00316     myCout << "\n  Index of prescale factor set for technical triggers: " 
00317         << m_gtPrescaleFactorIndexTech << std::endl;
00318     myCout << "  Index of prescale factor set for algorithm triggers: " 
00319         << m_gtPrescaleFactorIndexTech << std::endl;
00320     myCout << std::endl;
00321    
00322 
00323 }

void L1GlobalTriggerRecord::printGtDecision ( std::ostream &  myCout  )  const

print global decision and algorithm decision word

Definition at line 188 of file L1GlobalTriggerRecord.cc.

References lat::endl(), m_gtDecisionWord, and m_gtGlobalDecision.

Referenced by print().

00189 {
00190 
00191     myCout << std::endl;
00192     myCout << "\n  Global decision (FinalOR): " << m_gtGlobalDecision << std::endl;
00193 
00194     // decision word (in 64bits words)
00195     int sizeW64 = 64; // 64 bits words
00196 
00197     int iBit = 0;
00198     int jBit = m_gtDecisionWord.size();
00199     int nrDecWord = m_gtDecisionWord.size()/sizeW64;
00200 
00201     std::ostringstream stream64;
00202 
00203     std::vector<std::string> decWord;
00204     decWord.reserve(nrDecWord);
00205 
00206     for (std::vector<bool>::const_reverse_iterator ritBit = m_gtDecisionWord.rbegin();
00207             ritBit != m_gtDecisionWord.rend(); ++ritBit) {
00208 
00209         stream64 << (*ritBit ? '1' : '0');
00210 
00211         if ( (((iBit + 1)%16) == (sizeW64%16)) ) {
00212             stream64  << " ";
00213         }
00214 
00215         if ( ((iBit + 1)%sizeW64) == 0) {
00216             std::string iW = stream64.str();
00217             stream64.str("");
00218 
00219             decWord.push_back(iW);
00220         }
00221 
00222 
00223         iBit++;
00224         jBit--;
00225     }
00226 
00227     int iWord = 0;
00228 
00229     myCout << "\n  DecisionWord after trigger mask (bitset style)";
00230     for (std::vector<std::string>::reverse_iterator ritWord = decWord.rbegin();
00231             ritWord != decWord.rend(); ++ritWord) {
00232 
00233         myCout << "\n  Bits "
00234         << iWord*sizeW64 + sizeW64 - 1 << " : " << iWord*sizeW64 << "\n  ";
00235         myCout << *ritWord;
00236 
00237         iWord++;
00238 
00239     }
00240 
00241 }

void L1GlobalTriggerRecord::printTechnicalTrigger ( std::ostream &  myCout  )  const

print technical triggers

Definition at line 244 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWord.

Referenced by print().

00245 {
00246 
00247     myCout << "\n  Technical triggers after trigger mask  (bitset style):    \n  " ;
00248 
00249     int sizeW64 = 64; // 64 bits words
00250     int iBit = 0;
00251 
00252     for (std::vector<bool>::const_reverse_iterator ritBit = m_gtTechnicalTriggerWord.rbegin();
00253             ritBit != m_gtTechnicalTriggerWord.rend(); ++ritBit) {
00254 
00255         myCout << (*ritBit ? '1' : '0');
00256 
00257         if ( (((iBit + 1)%16) == (sizeW64%16)) && (iBit != 63) ) {
00258             myCout << " ";
00259         }
00260 
00261         iBit++;
00262     }
00263 
00264 
00265 }

void L1GlobalTriggerRecord::reset ( void   ) 

clear the record

Definition at line 268 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord, m_gtDecisionWordBeforeMask, m_gtGlobalDecision, m_gtPrescaleFactorIndexAlgo, m_gtPrescaleFactorIndexTech, m_gtTechnicalTriggerWord, and m_gtTechnicalTriggerWordBeforeMask.

00269 {
00270 
00271     m_gtGlobalDecision = false;
00272 
00273     for (std::vector<bool>::iterator itBit = m_gtDecisionWord.begin(); 
00274         itBit != m_gtDecisionWord.end(); ++itBit) {
00275         
00276         *itBit = false;
00277         
00278     }
00279     for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWord.begin(); 
00280         itBit != m_gtTechnicalTriggerWord.end(); ++itBit) {
00281         
00282         *itBit = false;
00283         
00284     }
00285     for (std::vector<bool>::iterator itBit = m_gtDecisionWordBeforeMask.begin(); 
00286         itBit != m_gtDecisionWordBeforeMask.end(); ++itBit) {
00287         
00288         *itBit = false;
00289         
00290     }
00291 
00292     for (std::vector<bool>::iterator itBit = m_gtTechnicalTriggerWordBeforeMask.begin(); 
00293         itBit != m_gtTechnicalTriggerWordBeforeMask.end(); ++itBit) {
00294         
00295         *itBit = false;
00296         
00297     }
00298  
00299     m_gtPrescaleFactorIndexTech = 0;
00300     m_gtPrescaleFactorIndexAlgo = 0;
00301 
00302 }

void L1GlobalTriggerRecord::setDecision ( const bool dValue  ) 

set global decision, decision word and technical trigger word for bunch cross with L1Accept (BxInEvent = 0)

Definition at line 145 of file L1GlobalTriggerRecord.cc.

References m_gtGlobalDecision.

00146 {
00147 
00148     m_gtGlobalDecision = dValue;
00149     
00150 }

void L1GlobalTriggerRecord::setDecisionWord ( const DecisionWord dWordValue  ) 

Definition at line 153 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWord.

00155 {
00156 
00157     m_gtDecisionWord = dWordValue;
00158     
00159 }

void L1GlobalTriggerRecord::setDecisionWordBeforeMask ( const DecisionWord dWordValue  ) 

Definition at line 170 of file L1GlobalTriggerRecord.cc.

References m_gtDecisionWordBeforeMask.

00172 {
00173 
00174     m_gtDecisionWordBeforeMask = dWordValue;
00175     
00176 }

void L1GlobalTriggerRecord::setGtPrescaleFactorIndexAlgo ( const unsigned int gtPrescaleFactorIndexAlgoValue  )  [inline]

Definition at line 110 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexAlgo.

00111                                                                 {
00112         m_gtPrescaleFactorIndexAlgo = gtPrescaleFactorIndexAlgoValue;
00113     }

void L1GlobalTriggerRecord::setGtPrescaleFactorIndexTech ( const unsigned int gtPrescaleFactorIndexTechValue  )  [inline]

Definition at line 101 of file L1GlobalTriggerRecord.h.

References m_gtPrescaleFactorIndexTech.

00102                                                                 {
00103         m_gtPrescaleFactorIndexTech = gtPrescaleFactorIndexTechValue;
00104     }

void L1GlobalTriggerRecord::setTechnicalTriggerWord ( const TechnicalTriggerWord ttWordValue  ) 

Definition at line 161 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWord.

00163 {
00164 
00165     m_gtTechnicalTriggerWord = ttWordValue;
00166 
00167 }

void L1GlobalTriggerRecord::setTechnicalTriggerWordBeforeMask ( const TechnicalTriggerWord ttWordValue  ) 

Definition at line 178 of file L1GlobalTriggerRecord.cc.

References m_gtTechnicalTriggerWordBeforeMask.

00180 {
00181 
00182     m_gtTechnicalTriggerWordBeforeMask = ttWordValue;
00183 
00184 }

const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWord (  )  const [inline]

Definition at line 73 of file L1GlobalTriggerRecord.h.

References m_gtTechnicalTriggerWord.

00073                                                                    {
00074         return m_gtTechnicalTriggerWord;
00075     }

const TechnicalTriggerWord L1GlobalTriggerRecord::technicalTriggerWordBeforeMask (  )  const [inline]

Definition at line 81 of file L1GlobalTriggerRecord.h.

References m_gtTechnicalTriggerWordBeforeMask.

00081                                                                              {
00082         return m_gtTechnicalTriggerWordBeforeMask;
00083     }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  streamRec,
const L1GlobalTriggerRecord result 
) [friend]

output stream operator

Definition at line 326 of file L1GlobalTriggerRecord.cc.

00327 {
00328     result.print(streamRec);
00329     return streamRec;
00330 
00331 }


Member Data Documentation

DecisionWord L1GlobalTriggerRecord::m_gtDecisionWord [private]

algorithm decision word for L1A bunch cross

Definition at line 139 of file L1GlobalTriggerRecord.h.

Referenced by decisionWord(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecisionWord().

DecisionWord L1GlobalTriggerRecord::m_gtDecisionWordBeforeMask [private]

algorithm decision word for L1A bunch cross before applying the masks

Definition at line 145 of file L1GlobalTriggerRecord.h.

Referenced by decisionWordBeforeMask(), L1GlobalTriggerRecord(), operator=(), operator==(), reset(), and setDecisionWordBeforeMask().

bool L1GlobalTriggerRecord::m_gtGlobalDecision [private]

global decision for L1A bunch cross

Definition at line 136 of file L1GlobalTriggerRecord.h.

Referenced by decision(), L1GlobalTriggerRecord(), operator=(), operator==(), printGtDecision(), reset(), and setDecision().

unsigned int L1GlobalTriggerRecord::m_gtPrescaleFactorIndexAlgo [private]

Definition at line 153 of file L1GlobalTriggerRecord.h.

Referenced by gtPrescaleFactorIndexAlgo(), L1GlobalTriggerRecord(), operator=(), operator==(), reset(), and setGtPrescaleFactorIndexAlgo().

unsigned int L1GlobalTriggerRecord::m_gtPrescaleFactorIndexTech [private]

index of the set of prescale factors in the DB/EventSetup for algorithm triggers and technical triggers

Definition at line 152 of file L1GlobalTriggerRecord.h.

Referenced by gtPrescaleFactorIndexTech(), L1GlobalTriggerRecord(), operator=(), operator==(), print(), reset(), and setGtPrescaleFactorIndexTech().

TechnicalTriggerWord L1GlobalTriggerRecord::m_gtTechnicalTriggerWord [private]

technical trigger word for L1A bunch cross

Definition at line 142 of file L1GlobalTriggerRecord.h.

Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), printTechnicalTrigger(), reset(), setTechnicalTriggerWord(), and technicalTriggerWord().

TechnicalTriggerWord L1GlobalTriggerRecord::m_gtTechnicalTriggerWordBeforeMask [private]

technical trigger word for L1A bunch cross before applying the masks

Definition at line 148 of file L1GlobalTriggerRecord.h.

Referenced by L1GlobalTriggerRecord(), operator=(), operator==(), reset(), setTechnicalTriggerWordBeforeMask(), and technicalTriggerWordBeforeMask().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:42 2009 for CMSSW by  doxygen 1.5.4