DataFormats
L1TGlobal
src
GlobalExtBlk.cc
Go to the documentation of this file.
1
15
// this class header
16
#include "
DataFormats/L1TGlobal/interface/GlobalExtBlk.h
"
17
18
// system include files
19
20
// user include files
21
22
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
23
#include "
FWCore/MessageLogger/interface/MessageDrop.h
"
24
25
// constructors
26
27
// empty constructor, all members set to zero;
28
GlobalExtBlk::GlobalExtBlk
() {
29
// Reserve/Clear out the decision words
30
m_extDecision
.reserve(
maxExternalConditions
);
31
m_extDecision
.assign(
maxExternalConditions
,
false
);
32
}
33
34
// destructor
35
GlobalExtBlk::~GlobalExtBlk
() {
36
// empty now
37
}
38
40
void
GlobalExtBlk::setExternalDecision
(
unsigned
int
bit,
bool
val
) {
41
if
(bit <
m_extDecision
.size()) {
42
m_extDecision
.at(bit) =
val
;
43
44
}
else
{
45
// Need some erorr checking here.
46
LogTrace
(
"L1TGlobal"
) <<
"Attempting to set a external bit "
<< bit <<
" beyond limit "
<<
m_extDecision
.size();
47
}
48
}
49
51
bool
GlobalExtBlk::getExternalDecision
(
unsigned
int
bit)
const
{
52
if
(bit >=
m_extDecision
.size())
53
return
false
;
54
return
m_extDecision
.at(bit);
55
}
56
57
// reset the content of a GlobalExtBlk
58
void
GlobalExtBlk::reset
() {
59
// Clear out the decision words
60
// but leave the vector intact
61
m_extDecision
.assign(
maxExternalConditions
,
false
);
62
}
63
64
// pretty print the content of a GlobalExtBlk
65
void
GlobalExtBlk::print
(std::ostream& myCout)
const
{
66
myCout <<
" GlobalExtBlk "
<< std::endl;
67
68
// Loop through bits to create a hex word of algorithm bits.
69
int
lengthWd =
m_extDecision
.size();
70
myCout <<
" External Conditions 0x"
<< std::hex;
71
int
digit = 0;
72
bool
firstNonZero =
false
;
73
for
(
int
i
= lengthWd - 1;
i
> -1;
i
--) {
74
if
(
m_extDecision
.at(
i
))
75
digit |= (1 << (
i
% 4));
76
if
(digit > 0)
77
firstNonZero =
true
;
78
if
((
i
% 4) == 0 && firstNonZero) {
79
myCout << std::hex << std::setw(1) << digit;
80
digit = 0;
81
if
(
i
% 32 == 0 &&
i
< lengthWd - 1)
82
myCout <<
" "
;
83
}
84
}
//end loop over algorithm bits
85
if
(!firstNonZero)
86
myCout <<
"0"
;
87
myCout << std::endl;
88
}
mps_fire.i
i
Definition:
mps_fire.py:428
MessageLogger.h
GlobalExtBlk::maxExternalConditions
const static unsigned int maxExternalConditions
Definition:
GlobalExtBlk.h:43
GlobalExtBlk.h
GlobalExtBlk::getExternalDecision
bool getExternalDecision(unsigned int bit) const
Get decision bits.
Definition:
GlobalExtBlk.cc:51
GlobalExtBlk::m_extDecision
std::vector< bool > m_extDecision
Definition:
GlobalExtBlk.h:58
GlobalExtBlk::reset
void reset()
reset the content of a GlobalExtBlk
Definition:
GlobalExtBlk.cc:58
MessageDrop.h
heppy_batch.val
val
Definition:
heppy_batch.py:351
GlobalExtBlk::GlobalExtBlk
GlobalExtBlk()
constructors
Definition:
GlobalExtBlk.cc:28
GlobalExtBlk::~GlobalExtBlk
virtual ~GlobalExtBlk()
destructor
Definition:
GlobalExtBlk.cc:35
LogTrace
#define LogTrace(id)
Definition:
MessageLogger.h:224
GlobalExtBlk::print
void print(std::ostream &myCout) const
pretty print the content of a GlobalExtBlk
Definition:
GlobalExtBlk.cc:65
GlobalExtBlk::setExternalDecision
void setExternalDecision(unsigned int bit, bool val)
Set decision bits.
Definition:
GlobalExtBlk.cc:40
Generated for CMSSW Reference Manual by
1.8.16