ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerInfo.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4
12
13
14#include <iomanip>
15
17
18
19
21 const std::string& type,
22 bool obeysLumiblock,
23 const std::set<number_type>& robs,
24 const std::set<number_type>& dets
25 )
26 :
27 m_name(name),
28 m_type(type),
30 m_robs(robs),
32{}
33
35 std::string&& type,
36 bool obeysLumiblock)
37 :
38 m_name(std::move(name)),
39 m_type(std::move(type)),
41{}
42
47
48
49const std::string&
51 return(m_name);
52}
53
54const std::string&
56 return(m_type);
57}
58
59bool
63
64const std::set<TriggerInfo::number_type>&
66 return(m_robs);
67}
68
69const std::set<TriggerInfo::number_type>&
71 return(m_dets);
72}
73
80
91
106
123
126
129 return(m_statusElement);
130}
131
136
141
142const std::vector<TriggerInfo::number_type>&
146
147const std::vector<TriggerInfo::number_type>&
151
152const std::vector<TriggerInfo::number_type>&
156
157const std::vector<TriggerInfo::StreamTag>&
159 return(m_streamTags);
160}
161
162void
166
167void
171
172void
176
177void
181
182void
186
187void
191
192void
196
197void
201
202void
205}
206
207void
208TriggerInfo::setStreamTags(const std::vector<StreamTag>& streamTags) {
210}
211
212void
213TriggerInfo::setStreamTags(std::vector<StreamTag>&& streamTags) {
214 m_streamTags = std::move(streamTags);
215}
216
217std::ostream&
218operator << (std::ostream& os, const std::vector<TriggerInfo::number_type>& rhs) {
219 // switch to hex format
220 os << std::hex << std::setfill('0');
221
222 if (rhs.size() > 0) os << " 0x" << std::setw(8) << rhs[0];
223 for (size_t i(1); i < rhs.size(); ++i)
224 os << ", 0x" << std::setw(8) << rhs[i];
225
226 // switch back to normal format
227 os << std::dec << std::setfill(' ');
228
229 return os;
230}
231
232std::ostream&
233operator << (std::ostream& os, const std::vector<TriggerInfo::StreamTag>& rhs) {
234 if (rhs.size() > 0) os << "(" << rhs[0].name() << "," << rhs[0].type() << "," << rhs[0].obeysLumiblock() << ")";
235 for (size_t i(1); i < rhs.size(); ++i)
236 os << ",(" << rhs[i].name() << "," << rhs[i].type() << "," << rhs[i].obeysLumiblock() << ")";
237
238 return os;
239}
240
241std::ostream&
242operator << (std::ostream& os, const TriggerInfo& rhs) {
243 os << "\n [S,L1ID,L1TT] = ["
244 << rhs.m_statusElement
245 << "," << rhs.m_extendedLevel1ID
246 << "," << rhs.m_level1TriggerType
247 << "]"
248 << "\n L1: [" << rhs.m_level1TriggerInfo << "]"
249 << "\n L2: [" << rhs.m_level2TriggerInfo << "]"
250 << "\n EF: [" << rhs.m_eventFilterInfo << "]"
251 << "\n ST: [" << rhs.m_streamTags << "]";
252
253 return os;
254}
std::ostream & operator<<(std::ostream &os, const std::vector< TriggerInfo::number_type > &rhs)
This class contains trigger related information.
bool obeysLumiblock() const
const std::set< number_type > & robs() const
Optional list of ROBIDs for PEB.
const std::set< number_type > & dets() const
Optional list of DETIDs for PEB.
const std::string & name() const
std::set< number_type > m_robs
std::set< number_type > m_dets
const std::string & type() const
void setExtendedLevel1ID(const number_type extendedLevel1ID)
set extended level1 ID
std::vector< StreamTag > m_streamTags
std::vector< number_type > m_level1TriggerInfo
number_type level1TriggerType() const
get level1 trigger type
void setStatusElement(const number_type statusElement)
set status element
unsigned int number_type
Definition TriggerInfo.h:81
virtual ~TriggerInfo()
void setLevel1TriggerType(const number_type level1TriggerType)
set level1 trigger type
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
number_type extendedLevel1ID() const
get extended level1 ID
number_type statusElement() const
get status element
void setStreamTags(const std::vector< StreamTag > &streamTags)
number_type m_statusElement
number_type m_level1TriggerType
void setLevel2TriggerInfo(const std::vector< number_type > &level2TriggerInfo)
set level2 trigger info
void setLevel1TriggerInfo(const std::vector< number_type > &level1TriggerInfo)
set level1 trigger info
number_type m_extendedLevel1ID
TriggerInfo()
empty default constructor (all zero)
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
const std::vector< StreamTag > & streamTags() const
get stream tags
std::vector< number_type > m_level2TriggerInfo
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
void setEventFilterInfo(const std::vector< number_type > &eventFilterInfo)
set event filter trigger info
std::vector< number_type > m_eventFilterInfo
STL namespace.