CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
GlobalAlgBlk Class Reference

#include <GlobalAlgBlk.h>

Public Member Functions

void copyInitialToPrescaled ()
 Copy vectors words. More...
 
void copyPrescaledToFinal ()
 
bool getAlgoDecisionFinal (unsigned int bit) const
 
bool getAlgoDecisionInitial (unsigned int bit) const
 Get decision bits. More...
 
bool getAlgoDecisionPreScaled (unsigned int bit) const
 
const int getbxInEventNr () const
 
const int getbxNr () const
 
const bool getFinalOR () const
 
const bool getFinalORPreVeto () const
 
const bool getFinalORVeto () const
 
const int getOrbitNr () const
 get simple members More...
 
const int getPreScColumn () const
 
 GlobalAlgBlk ()
 constructors More...
 
 GlobalAlgBlk (int orbitNr, int bxNr, int bxInEvent)
 
void print (std::ostream &myCout) const
 pretty print the content of a GlobalAlgBlk More...
 
void reset ()
 reset the content of a GlobalAlgBlk More...
 
void setAlgoDecisionFinal (unsigned int bit, bool val)
 
void setAlgoDecisionInitial (unsigned int bit, bool val)
 Set decision bits. More...
 
void setAlgoDecisionPreScaled (unsigned int bit, bool val)
 
void setbxInEventNr (int bxNr)
 
void setbxNr (int bxNr)
 
void setFinalOR (bool fOR)
 
void setFinalORPreVeto (bool fOR)
 
void setFinalORVeto (bool fOR)
 
void setOrbitNr (int orbNr)
 set simple members More...
 
void setPreScColumn (int psC)
 
virtual ~GlobalAlgBlk ()
 destructor More...
 

Static Public Attributes

static const unsigned int maxPhysicsTriggers = 512
 

Private Attributes

std::vector< bool > m_algoDecisionFinal
 
std::vector< bool > m_algoDecisionInitial
 
std::vector< bool > m_algoDecisionPreScaled
 
int m_bxInEvent
 bunch cross in the GT event record (E,F,0,1,2) More...
 
int m_bxNr
 bunch cross number of the actual bx More...
 
bool m_finalOR
 
bool m_finalORPreVeto
 
bool m_finalORVeto
 
int m_orbitNr
 orbit number More...
 
int m_preScColumn
 

Detailed Description

Description: L1 micro Global Trigger - Block holding Algorithm Information

Implementation: <TODO: enter implementation details>

Author
: Brian Winer - Ohio State

Description: see header file.

Implementation: <TODO: enter implementation details>

Author
: Brian Winer – Ohio State

Definition at line 36 of file GlobalAlgBlk.h.

Constructor & Destructor Documentation

GlobalAlgBlk::GlobalAlgBlk ( )

constructors

Definition at line 53 of file GlobalAlgBlk.cc.

References m_algoDecisionFinal, m_algoDecisionInitial, m_algoDecisionPreScaled, m_bxInEvent, m_bxNr, m_finalOR, m_finalORPreVeto, m_finalORVeto, m_orbitNr, m_preScColumn, and maxPhysicsTriggers.

54 {
55 
56  //Clear out the header data
57  m_orbitNr=0;
58  m_bxNr=0;
59  m_bxInEvent=0;
60  m_finalOR=0;
61  m_finalORPreVeto = 0;
62  m_finalORVeto = 0;
63  m_preScColumn=0;
64 
65  // Reserve/Clear out the decision words
68 
71 
74 
75 }
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
bool m_finalORPreVeto
Definition: GlobalAlgBlk.h:106
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
static const unsigned int maxPhysicsTriggers
Definition: GlobalAlgBlk.h:52
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
bool m_finalORVeto
Definition: GlobalAlgBlk.h:107
GlobalAlgBlk::GlobalAlgBlk ( int  orbitNr,
int  bxNr,
int  bxInEvent 
)

Definition at line 31 of file GlobalAlgBlk.cc.

References m_algoDecisionFinal, m_algoDecisionInitial, m_algoDecisionPreScaled, m_finalOR, m_preScColumn, and maxPhysicsTriggers.

31  :
32  m_orbitNr(orbitNr), m_bxNr(bxNr), m_bxInEvent(bxInEvent)
33 {
34 
35  //Clear out the header data
36  m_finalOR=0;
37  m_preScColumn=0;
38 
39  // Reserve/Clear out the decision words
42 
45 
48 
49 }
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
static const unsigned int maxPhysicsTriggers
Definition: GlobalAlgBlk.h:52
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
GlobalAlgBlk::~GlobalAlgBlk ( )
virtual

destructor

Definition at line 80 of file GlobalAlgBlk.cc.

81 {
82 
83  // empty now
84 }

Member Function Documentation

void GlobalAlgBlk::copyInitialToPrescaled ( )
inline

Copy vectors words.

Definition at line 73 of file GlobalAlgBlk.h.

References m_algoDecisionInitial, and m_algoDecisionPreScaled.

std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
void GlobalAlgBlk::copyPrescaledToFinal ( )
inline

Definition at line 74 of file GlobalAlgBlk.h.

References m_algoDecisionFinal, and m_algoDecisionPreScaled.

std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
bool GlobalAlgBlk::getAlgoDecisionFinal ( unsigned int  bit) const

Definition at line 135 of file GlobalAlgBlk.cc.

References m_algoDecisionFinal.

136 {
137  if(bit>=m_algoDecisionFinal.size()) return false;
138  return m_algoDecisionFinal.at(bit);
139 }
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
bool GlobalAlgBlk::getAlgoDecisionInitial ( unsigned int  bit) const

Get decision bits.

Definition at line 125 of file GlobalAlgBlk.cc.

References m_algoDecisionInitial.

126 {
127  if(bit>=m_algoDecisionInitial.size()) return false;
128  return m_algoDecisionInitial.at(bit);
129 }
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
bool GlobalAlgBlk::getAlgoDecisionPreScaled ( unsigned int  bit) const

Definition at line 130 of file GlobalAlgBlk.cc.

References m_algoDecisionPreScaled.

131 {
132  if(bit>=m_algoDecisionPreScaled.size()) return false;
133  return m_algoDecisionPreScaled.at(bit);
134 }
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
const int GlobalAlgBlk::getbxInEventNr ( ) const
inline

Definition at line 66 of file GlobalAlgBlk.h.

References m_bxInEvent.

66 { return m_bxInEvent; }
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
const int GlobalAlgBlk::getbxNr ( ) const
inline

Definition at line 65 of file GlobalAlgBlk.h.

References m_bxNr.

65 { return m_bxNr; }
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
const bool GlobalAlgBlk::getFinalOR ( ) const
inline

Definition at line 67 of file GlobalAlgBlk.h.

References m_finalOR.

67 { return m_finalOR; }
const bool GlobalAlgBlk::getFinalORPreVeto ( ) const
inline

Definition at line 68 of file GlobalAlgBlk.h.

References m_finalORPreVeto.

68 { return m_finalORPreVeto; };
bool m_finalORPreVeto
Definition: GlobalAlgBlk.h:106
const bool GlobalAlgBlk::getFinalORVeto ( ) const
inline

Definition at line 69 of file GlobalAlgBlk.h.

References m_finalORVeto.

69 { return m_finalORVeto; }
bool m_finalORVeto
Definition: GlobalAlgBlk.h:107
const int GlobalAlgBlk::getOrbitNr ( ) const
inline

get simple members

Definition at line 64 of file GlobalAlgBlk.h.

References m_orbitNr.

64 { return m_orbitNr; }
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
const int GlobalAlgBlk::getPreScColumn ( ) const
inline

Definition at line 70 of file GlobalAlgBlk.h.

References m_preScColumn.

70 { return m_preScColumn; }
void GlobalAlgBlk::print ( std::ostream &  myCout) const

pretty print the content of a GlobalAlgBlk

Definition at line 165 of file GlobalAlgBlk.cc.

References i, m_algoDecisionFinal, m_algoDecisionInitial, m_algoDecisionPreScaled, m_bxInEvent, m_bxNr, m_finalOR, m_finalORVeto, m_orbitNr, and m_preScColumn.

166 {
167 
168 
169  myCout << " uGtGlobalAlgBlk: " << std::endl;
170 
171  myCout << " Orbit Number (hex): 0x" << std::hex << std::setw(8) << std::setfill('0') << m_orbitNr << std::endl;
172 
173  myCout << " Bx Number (hex): 0x" << std::hex << std::setw(4) << std::setfill('0') << m_bxNr << std::endl;
174 
175  myCout << " Local Bx (hex): 0x" << std::hex << std::setw(1) << std::setfill('0') << m_bxInEvent << std::endl;
176 
177  myCout << " PreScale Column: " <<std::setw(2) << m_preScColumn << std::endl;
178 
179  myCout << " Final OR Veto: " << std::hex << std::setw(1) << std::setfill('0') << m_finalORVeto << std::endl;
180 
181  myCout << " Final OR: " << std::hex << std::setw(1) << std::setfill('0') << m_finalOR << std::endl;
182 
183  // Loop through bits to create a hex word of algorithm bits.
184  int lengthWd = m_algoDecisionInitial.size();
185  myCout << " Decision (Initial) 0x" << std::hex;
186  int digit = 0;
187  for(int i=lengthWd-1; i>-1; i--) {
188  if(m_algoDecisionInitial.at(i)) digit |= (1 << (i%4));
189  if((i%4) == 0){
190  myCout << std::hex << std::setw(1) << digit;
191  digit = 0;
192  if(i%32 == 0 && i<lengthWd-1) myCout << " ";
193  }
194  } //end loop over algorithm bits
195  myCout << std::endl;
196 
197  // Loop through bits to create a hex word of algorithm bits.
198  lengthWd = m_algoDecisionPreScaled.size();
199  myCout << " Decision (Prescaled) 0x" << std::hex;
200  digit = 0;
201  for(int i=lengthWd-1; i>-1; i--) {
202  if(m_algoDecisionPreScaled.at(i)) digit |= (1 << (i%4));
203  if((i%4) == 0){
204  myCout << std::hex << std::setw(1) << digit;
205  digit = 0;
206  if(i%32 == 0 && i<lengthWd-1) myCout << " ";
207  }
208  } //end loop over algorithm bits
209  myCout << std::endl;
210 
211 
212  // Loop through bits to create a hex word of algorithm bits.
213  lengthWd = m_algoDecisionFinal.size();
214  myCout << " Decision (Final) 0x" << std::hex;
215  digit = 0;
216  for(int i=lengthWd-1; i>-1; i--) {
217  if(m_algoDecisionFinal.at(i)) digit |= (1 << (i%4));
218  if((i%4) == 0){
219  myCout << std::hex << std::setw(1) << digit;
220  digit = 0;
221  if(i%32 == 0 && i<lengthWd-1) myCout << " ";
222  }
223  } //end loop over algorithm bits
224  myCout << std::endl;
225 
226 }
int i
Definition: DBlmapReader.cc:9
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
bool m_finalORVeto
Definition: GlobalAlgBlk.h:107
void GlobalAlgBlk::reset ( void  )

reset the content of a GlobalAlgBlk

Definition at line 143 of file GlobalAlgBlk.cc.

References m_algoDecisionFinal, m_algoDecisionInitial, m_algoDecisionPreScaled, m_bxInEvent, m_bxNr, m_finalOR, m_finalORPreVeto, m_finalORVeto, m_orbitNr, m_preScColumn, and maxPhysicsTriggers.

Referenced by l1t::GtBoard::GtBoard().

144 {
145 
146  //Clear out the header data
147  m_orbitNr=0;
148  m_bxNr=0;
149  m_bxInEvent=0;
150  m_finalOR=0;
151  m_finalORPreVeto = 0;
152  m_finalORVeto = 0;
153  m_preScColumn=0;
154 
155  // Clear out the decision words
156  // but leave the vector intact
160 
161 
162 }
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
bool m_finalORPreVeto
Definition: GlobalAlgBlk.h:106
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
static const unsigned int maxPhysicsTriggers
Definition: GlobalAlgBlk.h:52
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
bool m_finalORVeto
Definition: GlobalAlgBlk.h:107
void GlobalAlgBlk::setAlgoDecisionFinal ( unsigned int  bit,
bool  val 
)

Definition at line 112 of file GlobalAlgBlk.cc.

References LogTrace, and m_algoDecisionFinal.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

113 {
114 
115  if(bit < m_algoDecisionFinal.size()) {
116  m_algoDecisionFinal.at(bit) = val;
117  } else {
118  // Need some erorr checking here.
119  LogTrace("L1TGlobal") << "Attempting to set an algorithm bit " << bit << " beyond limit " << m_algoDecisionFinal.size();
120  }
121 
122 }
#define LogTrace(id)
std::vector< bool > m_algoDecisionFinal
Definition: GlobalAlgBlk.h:115
void GlobalAlgBlk::setAlgoDecisionInitial ( unsigned int  bit,
bool  val 
)

Set decision bits.

Definition at line 88 of file GlobalAlgBlk.cc.

References LogTrace, and m_algoDecisionInitial.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

89 {
90  if(bit < m_algoDecisionInitial.size()) {
91 
92  m_algoDecisionInitial.at(bit) = val;
93 
94  } else {
95  // Need some erorr checking here.
96  LogTrace("L1TGlobal") << "Attempting to set an algorithm bit " << bit << " beyond limit " << m_algoDecisionInitial.size();
97  }
98 
99 }
std::vector< bool > m_algoDecisionInitial
Definition: GlobalAlgBlk.h:113
#define LogTrace(id)
void GlobalAlgBlk::setAlgoDecisionPreScaled ( unsigned int  bit,
bool  val 
)

Definition at line 100 of file GlobalAlgBlk.cc.

References LogTrace, and m_algoDecisionPreScaled.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

101 {
102 
103  if(bit < m_algoDecisionPreScaled.size()) {
104 
105  m_algoDecisionPreScaled.at(bit) = val;
106  } else {
107  // Need some erorr checking here.
108  LogTrace("L1TGlobal") << "Attempting to set an algorithm bit " << bit << " beyond limit " << m_algoDecisionPreScaled.size();
109  }
110 
111 }
#define LogTrace(id)
std::vector< bool > m_algoDecisionPreScaled
Definition: GlobalAlgBlk.h:114
void GlobalAlgBlk::setbxInEventNr ( int  bxNr)
inline

Definition at line 57 of file GlobalAlgBlk.h.

References m_bxInEvent.

57 { m_bxInEvent = bxNr; }
int m_bxInEvent
bunch cross in the GT event record (E,F,0,1,2)
Definition: GlobalAlgBlk.h:102
void GlobalAlgBlk::setbxNr ( int  bxNr)
inline

Definition at line 56 of file GlobalAlgBlk.h.

References m_bxNr.

56 { m_bxNr = bxNr; }
int m_bxNr
bunch cross number of the actual bx
Definition: GlobalAlgBlk.h:99
void GlobalAlgBlk::setFinalOR ( bool  fOR)
inline

Definition at line 60 of file GlobalAlgBlk.h.

References m_finalOR.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

60 { m_finalOR = fOR; }
void GlobalAlgBlk::setFinalORPreVeto ( bool  fOR)
inline

Definition at line 59 of file GlobalAlgBlk.h.

References m_finalORPreVeto.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

59 { m_finalORPreVeto = fOR; }
bool m_finalORPreVeto
Definition: GlobalAlgBlk.h:106
void GlobalAlgBlk::setFinalORVeto ( bool  fOR)
inline

Definition at line 58 of file GlobalAlgBlk.h.

References m_finalORVeto.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

58 { m_finalORVeto = fOR; }
bool m_finalORVeto
Definition: GlobalAlgBlk.h:107
void GlobalAlgBlk::setOrbitNr ( int  orbNr)
inline

set simple members

Definition at line 55 of file GlobalAlgBlk.h.

References m_orbitNr.

55 { m_orbitNr = orbNr; }
int m_orbitNr
orbit number
Definition: GlobalAlgBlk.h:96
void GlobalAlgBlk::setPreScColumn ( int  psC)
inline

Definition at line 61 of file GlobalAlgBlk.h.

References m_preScColumn.

Referenced by l1t::stage2::GlobalAlgBlkUnpacker::unpack().

61 { m_preScColumn = psC; }

Member Data Documentation

std::vector<bool> GlobalAlgBlk::m_algoDecisionFinal
private
std::vector<bool> GlobalAlgBlk::m_algoDecisionInitial
private
std::vector<bool> GlobalAlgBlk::m_algoDecisionPreScaled
private
int GlobalAlgBlk::m_bxInEvent
private

bunch cross in the GT event record (E,F,0,1,2)

Definition at line 102 of file GlobalAlgBlk.h.

Referenced by getbxInEventNr(), GlobalAlgBlk(), print(), reset(), and setbxInEventNr().

int GlobalAlgBlk::m_bxNr
private

bunch cross number of the actual bx

Definition at line 99 of file GlobalAlgBlk.h.

Referenced by getbxNr(), GlobalAlgBlk(), print(), reset(), and setbxNr().

bool GlobalAlgBlk::m_finalOR
private

Definition at line 105 of file GlobalAlgBlk.h.

Referenced by getFinalOR(), GlobalAlgBlk(), print(), reset(), and setFinalOR().

bool GlobalAlgBlk::m_finalORPreVeto
private

Definition at line 106 of file GlobalAlgBlk.h.

Referenced by getFinalORPreVeto(), GlobalAlgBlk(), reset(), and setFinalORPreVeto().

bool GlobalAlgBlk::m_finalORVeto
private

Definition at line 107 of file GlobalAlgBlk.h.

Referenced by getFinalORVeto(), GlobalAlgBlk(), print(), reset(), and setFinalORVeto().

int GlobalAlgBlk::m_orbitNr
private

orbit number

Definition at line 96 of file GlobalAlgBlk.h.

Referenced by getOrbitNr(), GlobalAlgBlk(), print(), reset(), and setOrbitNr().

int GlobalAlgBlk::m_preScColumn
private

Definition at line 110 of file GlobalAlgBlk.h.

Referenced by getPreScColumn(), GlobalAlgBlk(), print(), reset(), and setPreScColumn().

const unsigned int GlobalAlgBlk::maxPhysicsTriggers = 512
static

Definition at line 52 of file GlobalAlgBlk.h.

Referenced by GlobalAlgBlk(), reset(), and l1t::stage2::GlobalAlgBlkUnpacker::unpack().