ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigMonitoringEvent
TrigMonitoringEvent
TrigMonROB.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGMON_ROB_H
6
#define TRIGMON_ROB_H
7
8
/*
9
@author Rustem Ospanov
10
@date July 2009
11
12
@brief Summary of single request for ROB data.
13
This is a reduced copy of ROBDataMonitorStruct.
14
*/
15
16
// Framework
17
#include "
AthenaKernel/CLASS_DEF.h
"
18
19
// C/C++
20
#include <stdint.h>
21
#include <iostream>
22
#include <vector>
23
24
// Local
25
#include "
TrigMonitoringEvent/TrigMonROBData.h
"
26
#include "
TrigMonitoringEvent/TrigMonROBSum.h
"
27
#include "
TrigMonitoringEvent/TrigMonTimer.h
"
28
29
class
TrigMonROB
30
{
31
public
:
32
33
TrigMonROB
();
34
TrigMonROB
(uint32_t requestor_id,
35
long
int
beg_sec,
long
int
beg_usec,
36
long
int
end_sec,
long
int
end_usec);
37
~TrigMonROB
() {}
38
39
void
addData
(
const
TrigMonROBData
&data) {
m_data
.push_back(data); }
40
void
addWord
(
const
uint32_t word) {
m_word
.push_back(word); }
41
42
std::vector<TrigMonROBData>&
getData
() {
return
m_data
; }
43
std::vector<uint32_t>&
getWord
() {
return
m_word
; }
44
45
uint32_t
getRequestorId
()
const
{
return
m_word
[0]; }
46
double
getTimer
()
const
{
return
elapsed
(); }
47
double
elapsed
()
const
{
return
stop
().
getElapsed
(
start
()); }
48
49
const
TrigMonTimer
start
()
const
{
return
TrigMonTimer
(
getStart
()); }
50
const
TrigMonTimer
stop
()
const
{
return
TrigMonTimer
(
getStop
()); }
51
52
const
std::vector<TrigMonROBData>&
getData
()
const
{
return
m_data
; }
53
const
std::vector<TrigMonROBSum>
getSum
()
const
;
54
55
uint32_t
getStart
()
const
{
return
m_word
[1]; }
56
uint32_t
getStop
()
const
{
return
m_word
[2]; }
57
58
const
std::vector<uint32_t>&
getWord
()
const
{
return
m_word
; }
59
60
void
print
(std::ostream &os = std::cout)
const
;
61
62
private
:
63
64
std::vector<uint32_t>
m_word
;
// Data payload (see below)
65
std::vector<TrigMonROBData>
m_data
;
// Full data for requested robs
66
};
67
68
//
69
// m_word[0] = Hash id of requesting algorithm name
70
// m_word[1] = Encoded TrigMonTimer for start time
71
// m_word[2] = Encoded TrigMonTimer for stop time
72
// m_word[i] = Encoded words for TrigMonROBSum, i = 3,...
73
//
74
75
std::string
str
(
const
TrigMonROB
&);
76
77
//
78
// Inlined comparison operators
79
//
80
inline
bool
operator==
(
const
TrigMonROB
&lhs,
const
TrigMonROB
&rhs) {
81
return
lhs.
getRequestorId
() == rhs.
getRequestorId
();
82
}
83
inline
bool
operator <
(
const
TrigMonROB
&lhs,
const
TrigMonROB
&rhs) {
84
return
lhs.
getRequestorId
() < rhs.
getRequestorId
();
85
}
86
87
inline
bool
operator==
(
const
TrigMonROB
&rob,
unsigned
int
id
) {
88
return
rob.
getRequestorId
() == id;
89
}
90
inline
bool
operator==
(
unsigned
int
id
,
const
TrigMonROB
&rob) {
91
return
rob.
getRequestorId
() == id;
92
}
93
94
CLASS_DEF
(
TrigMonROB
, 157550435 , 1 )
95
96
#endif
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
TrigMonROBData.h
TrigMonROBSum.h
operator<
bool operator<(const TrigMonROB &lhs, const TrigMonROB &rhs)
Definition
TrigMonROB.h:83
operator==
bool operator==(const TrigMonROB &lhs, const TrigMonROB &rhs)
Definition
TrigMonROB.h:80
TrigMonTimer.h
TrigMonROBData
Definition
TrigMonROBData.h:27
TrigMonROB
Definition
TrigMonROB.h:30
TrigMonROB::~TrigMonROB
~TrigMonROB()
Definition
TrigMonROB.h:37
TrigMonROB::m_word
std::vector< uint32_t > m_word
Definition
TrigMonROB.h:64
TrigMonROB::getStop
uint32_t getStop() const
Definition
TrigMonROB.h:56
TrigMonROB::addData
void addData(const TrigMonROBData &data)
Definition
TrigMonROB.h:39
TrigMonROB::getStart
uint32_t getStart() const
Definition
TrigMonROB.h:55
TrigMonROB::getWord
std::vector< uint32_t > & getWord()
Definition
TrigMonROB.h:43
TrigMonROB::addWord
void addWord(const uint32_t word)
Definition
TrigMonROB.h:40
TrigMonROB::TrigMonROB
TrigMonROB()
Definition
TrigMonROB.cxx:16
TrigMonROB::getRequestorId
uint32_t getRequestorId() const
Definition
TrigMonROB.h:45
TrigMonROB::m_data
std::vector< TrigMonROBData > m_data
Definition
TrigMonROB.h:65
TrigMonROB::getSum
const std::vector< TrigMonROBSum > getSum() const
Definition
TrigMonROB.cxx:34
TrigMonROB::print
void print(std::ostream &os=std::cout) const
Definition
TrigMonROB.cxx:49
TrigMonROB::getWord
const std::vector< uint32_t > & getWord() const
Definition
TrigMonROB.h:58
TrigMonROB::getData
std::vector< TrigMonROBData > & getData()
Definition
TrigMonROB.h:42
TrigMonROB::elapsed
double elapsed() const
Definition
TrigMonROB.h:47
TrigMonROB::stop
const TrigMonTimer stop() const
Definition
TrigMonROB.h:50
TrigMonROB::start
const TrigMonTimer start() const
Definition
TrigMonROB.h:49
TrigMonROB::getTimer
double getTimer() const
Definition
TrigMonROB.h:46
TrigMonROB::getData
const std::vector< TrigMonROBData > & getData() const
Definition
TrigMonROB.h:52
TrigMonTimer
Definition
TrigMonTimer.h:27
TrigMonTimer::getElapsed
double getElapsed(const TrigMonTimer &start) const
Definition
TrigMonTimer.cxx:75
str
Definition
BTagTrackIpAccessor.cxx:11
Generated on
for ATLAS Offline Software by
1.17.0