ATLAS Offline Software
Trigger
TrigT1
Global
GlobalSimulation
src
IO
Global/GlobalSimulation/src/IO/Decision.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
// Decision.cxx
5
// TopoCore
6
// Created by Joerg Stelzer on 11/16/12.
7
//
8
// Adapted for GlobalL1TopoSim
9
10
11
#include "
Decision.h
"
12
13
#include <ostream>
14
#include <sstream>
15
#include <stdexcept>
16
17
namespace
GlobalSim
{
18
void
19
Decision::setBit
(
unsigned
int
index
,
bool
set
) {
20
if
(
index
>=
m_nBits
) {
21
std::stringstream
ss
;
22
ss
<<
"Setting bit "
23
<<
index
<<
", but max index allowed is "
<<
m_nBits
-1;
24
throw
std::runtime_error(
ss
.str());
25
}
26
27
if
(
set
) {
28
m_decision
|= (0x1<<
index
);
29
}
else
{
30
m_decision
&= ~(0x1<<
index
);
31
}
32
}
33
34
std::ostream&
35
operator<<
(std::ostream&
os
,
const
Decision
& dec) {
36
unsigned
int
bit = dec.
nBits
();
37
if
(dec.
nBits
()==1) {
38
os
<<
"decision (1 bit, position "
<< dec.
firstBit
() <<
"): "
;
39
}
else
{
40
os
<<
"decision ("
<< dec.
nBits
()
41
<<
" bits, position "
<< dec.
firstBit
()
42
<<
" - "
43
<< dec.
lastBit
() <<
"): "
;
44
}
45
46
while
(bit!=0) {
47
os
<< (dec.
bit
(--bit)?1:0);
48
}
49
os
<<
"(overflow "
<<dec.
overflow
()<<
")"
;
50
return
os
;
51
}
52
}
53
54
std::ostream &
operator<<
(std::ostream&
os
,
const
GlobalSim::Decision
&
d
){
55
os
<<
"Decision:\n"
56
<<
" decision : "
<<
d
.decision()
57
<<
" first bit : "
<<
d
.firstBit()
58
<<
" last bit : "
<<
d
.lastBit()
59
<<
" n bits : "
<<
d
.nBits()
60
<< std::boolalpha
61
<<
" overflow : "
<<
d
.overflow()
62
<<
" ambiguity : "
<<
d
.ambiguity()
63
<<
'\n'
<< std::noboolalpha;
//restore stream state
64
return
os
;
65
}
66
67
operator<<
std::ostream & operator<<(std::ostream &os, const GlobalSim::Decision &d)
Definition:
Global/GlobalSimulation/src/IO/Decision.cxx:54
PowhegControl_ttHplus_NLO.ss
ss
Definition:
PowhegControl_ttHplus_NLO.py:83
GlobalSim::Decision::m_nBits
unsigned int m_nBits
Definition:
Global/GlobalSimulation/src/IO/Decision.h:56
GlobalSim::Decision::setBit
void setBit(unsigned int index, bool value)
Definition:
Global/GlobalSimulation/src/IO/Decision.cxx:19
index
Definition:
index.py:1
hist_file_dump.d
d
Definition:
hist_file_dump.py:137
GlobalSim::Decision
Definition:
Global/GlobalSimulation/src/IO/Decision.h:24
Decision.h
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition:
dump.h:8
GlobalSim::Decision::nBits
unsigned int nBits() const
Definition:
Global/GlobalSimulation/src/IO/Decision.h:49
GlobalSim::Decision::m_decision
uint32_t m_decision
Definition:
Global/GlobalSimulation/src/IO/Decision.h:54
ReadFromCoolCompare.os
os
Definition:
ReadFromCoolCompare.py:231
GlobalSim::Decision::firstBit
unsigned int firstBit() const
Definition:
Global/GlobalSimulation/src/IO/Decision.h:47
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition:
bitmask.h:232
GlobalSim::operator<<
std::ostream & operator<<(std::ostream &os, const Decision &dec)
Definition:
Global/GlobalSimulation/src/IO/Decision.cxx:35
GlobalSim::Decision::overflow
bool overflow() const
Definition:
Global/GlobalSimulation/src/IO/Decision.h:50
DeMoScan.index
string index
Definition:
DeMoScan.py:364
GlobalSim::Decision::lastBit
unsigned int lastBit() const
Definition:
Global/GlobalSimulation/src/IO/Decision.h:48
GlobalSim::Decision::bit
bool bit(unsigned int index) const
Definition:
Global/GlobalSimulation/src/IO/Decision.h:45
Generated on Sun Dec 22 2024 21:09:18 for ATLAS Offline Software by
1.8.18