1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
/**
* \class L1GtTechnicalTrigger
*
*
* Description: technical trigger input record for L1 Global Trigger.
*
* Implementation:
* <TODO: enter implementation details>
*
* \author: Vasile Mihai Ghete - HEPHY Vienna
*
*
*/
// this class header
#include "DataFormats/L1GlobalTrigger/interface/L1GtTechnicalTrigger.h"
// system include files
#include <iomanip>
// user include files
#include "FWCore/MessageLogger/interface/MessageLogger.h"
// constructors
L1GtTechnicalTrigger::L1GtTechnicalTrigger()
: m_gtTechnicalTriggerName(""),
m_gtTechnicalTriggerBitNumber(0),
m_bxInEvent(0),
m_gtTechnicalTriggerResult(false) {
// empty
}
L1GtTechnicalTrigger::L1GtTechnicalTrigger(const std::string& ttName,
const unsigned int ttBitNumber,
const int ttBxInEvent,
const bool ttResult)
: m_gtTechnicalTriggerName(ttName),
m_gtTechnicalTriggerBitNumber(ttBitNumber),
m_bxInEvent(ttBxInEvent),
m_gtTechnicalTriggerResult(ttResult)
{
// empty
}
// copy constructor
L1GtTechnicalTrigger::L1GtTechnicalTrigger(const L1GtTechnicalTrigger& result) {
m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName;
m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber;
m_bxInEvent = result.m_bxInEvent;
m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult;
}
// destructor
L1GtTechnicalTrigger::~L1GtTechnicalTrigger() {
// empty now
}
// assignment operator
L1GtTechnicalTrigger& L1GtTechnicalTrigger::operator=(const L1GtTechnicalTrigger& result) {
if (this != &result) {
m_gtTechnicalTriggerName = result.m_gtTechnicalTriggerName;
m_gtTechnicalTriggerBitNumber = result.m_gtTechnicalTriggerBitNumber;
m_bxInEvent = result.m_bxInEvent;
m_gtTechnicalTriggerResult = result.m_gtTechnicalTriggerResult;
}
return *this;
}
// equal operator
bool L1GtTechnicalTrigger::operator==(const L1GtTechnicalTrigger& result) const {
if (m_gtTechnicalTriggerName != result.m_gtTechnicalTriggerName) {
return false;
}
if (m_gtTechnicalTriggerBitNumber != result.m_gtTechnicalTriggerBitNumber) {
return false;
}
if (m_bxInEvent != result.m_bxInEvent) {
return false;
}
if (m_gtTechnicalTriggerResult != result.m_gtTechnicalTriggerResult) {
return false;
}
// all members identical
return true;
}
// unequal operator
bool L1GtTechnicalTrigger::operator!=(const L1GtTechnicalTrigger& result) const { return !(result == *this); }
// methods
// set technical trigger name, bit number and result
void L1GtTechnicalTrigger::setGtTechnicalTriggerName(const std::string& ttName) { m_gtTechnicalTriggerName = ttName; }
// set decision word
void L1GtTechnicalTrigger::setGtTechnicalTriggerBitNumber(const unsigned int ttBitNumber) {
m_gtTechnicalTriggerBitNumber = ttBitNumber;
}
void L1GtTechnicalTrigger::setBxInEvent(const int bxInEventValue) { m_bxInEvent = bxInEventValue; }
void L1GtTechnicalTrigger::setGtTechnicalTriggerResult(const bool ttResult) { m_gtTechnicalTriggerResult = ttResult; }
// pretty print the content of a L1GtTechnicalTrigger
void L1GtTechnicalTrigger::print(std::ostream& myCout) const {
myCout << std::endl;
myCout << std::endl;
myCout << "\nTechnical trigger name: " << m_gtTechnicalTriggerName << std::endl;
myCout << " bit number" << m_gtTechnicalTriggerBitNumber << std::endl;
myCout << " bxInEvent" << m_bxInEvent << std::endl;
myCout << " result" << m_gtTechnicalTriggerResult << std::endl;
/// bunch cross in the GT event record
}
// output stream operator
std::ostream& operator<<(std::ostream& streamRec, const L1GtTechnicalTrigger& result) {
result.print(streamRec);
return streamRec;
}
|