ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigConfiguration
TrigConfL1Data
TrigConfL1Data
Menu.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TrigConf_Menu
6
#define TrigConf_Menu
7
8
#include "
TrigConfL1Data/L1DataBaseclass.h
"
9
#include "
TrigConfL1Data/TriggerItem.h
"
10
#include "
TrigConfL1Data/ThresholdConfig.h
"
11
#include "
TrigConfL1Data/ThresholdMonitor.h
"
12
#include "
TrigConfL1Data/PIT.h
"
13
#include "
TrigConfL1Data/TIP.h
"
14
15
#include <boost/multi_index_container.hpp>
16
#include <boost/multi_index/mem_fun.hpp>
17
#include <boost/multi_index/hashed_index.hpp>
18
#include <boost/multi_index/ordered_index.hpp>
19
#include <boost/multi_index/sequenced_index.hpp>
20
#include <boost/multi_index/random_access_index.hpp>
21
22
#include <iosfwd>
23
#include <vector>
24
#include <string>
25
26
27
namespace
TrigConf
{
28
29
// trigger items multi index container
30
struct
tag_ctpid
{};
31
struct
tag_name_hash
{};
32
33
typedef
boost::multi_index::multi_index_container<
TriggerItem
*, boost::multi_index::indexed_by<
34
boost::multi_index::random_access<>,
35
boost::multi_index::ordered_unique< boost::multi_index::identity<TriggerItem> >,
36
boost::multi_index::ordered_unique< boost::multi_index::tag<tag_ctpid>, boost::multi_index::const_mem_fun<TriggerItem, int, &TriggerItem::ctpId> >,
37
boost::multi_index::hashed_unique < boost::multi_index::tag<tag_name_hash>, boost::multi_index::const_mem_fun<TrigConfData, const std::string&, &TrigConfData::name> >
38
>
39
>
ItemContainer
;
40
41
typedef
ItemContainer::index<tag_ctpid>::type
item_by_ctpid_t
;
42
typedef
item_by_ctpid_t::iterator
item_by_ctpid_iterator
;
43
44
typedef
ItemContainer::index<tag_name_hash>::type
item_by_name_t
;
45
typedef
ItemContainer::index<tag_name_hash>::type::iterator
item_by_name_iterator
;
46
47
class
DiffStruct
;
48
49
class
Menu
:
public
L1DataBaseclass
{
50
public
:
51
Menu
();
52
virtual
~Menu
()
override
;
53
54
item_by_ctpid_t
&
item_by_ctpid
();
55
const
item_by_ctpid_t
&
item_by_ctpid
()
const
;
56
57
item_by_name_t
&
item_by_name
();
58
const
item_by_name_t
&
item_by_name
()
const
;
59
60
// setter and getters
61
void
addTriggerItem
(
TriggerItem
* ti);
62
const
ItemContainer
&
itemVector
()
const
;
63
const
ItemContainer
&
items
()
const
;
64
TriggerItem
*
findTriggerItem
(
int
ctpid)
const
{
return
item
(ctpid); }
65
TriggerItem
*
item
(
int
ctpid)
const
;
66
TriggerItem
*
item
(
const
std::string&
name
)
const
;
67
68
69
const
std::vector<ThresholdMonitor*>&
moncountVector
()
const
{
return
m_ThresholdMonitorVector
; }
70
const
std::vector<PIT*>&
pitVector
()
const
{
return
m_PITs
; }
71
const
std::vector<TIP*>&
tipVector
()
const
{
return
m_TIPs
; }
72
const
std::map<unsigned int, std::string>&
lutOutputNames
()
const
{
return
m_LUT
; }
73
const
ThresholdConfig
&
thresholdConfig
()
const
{
return
m_ThresholdConfig
; }
74
const
CaloInfo
&
caloInfo
()
const
{
return
m_ThresholdConfig
.caloInfo(); }
75
76
ThresholdConfig
&
thresholdConfig
() {
return
m_ThresholdConfig
; }
77
78
std::vector<uint16_t>
bunchgroupMask
()
const
;
79
80
// setters
81
void
setCaloInfo
(
const
CaloInfo
& ci ) {
m_ThresholdConfig
.setCaloInfo(ci); }
82
83
// another interface to access the TriggerThreshold vector
84
const
std::vector<TriggerThreshold*>&
thresholdVector
()
const
;
85
void
addTriggerThreshold
(
TriggerThreshold
* tt);
86
87
void
addThresholdMonitor
(
ThresholdMonitor
* thrm);
88
ThresholdMonitor
*
findThresholdMonitor
(
unsigned
int
id
);
89
90
void
addLutOutputName
(
unsigned
int
,
const
std::string &);
91
void
setLutOutputNames
(
const
std::map<unsigned int, std::string>& lut) {
m_LUT
= lut; }
92
93
void
addPit
(
PIT
* pit);
94
PIT
*
findPIT
(
unsigned
int
id
);
95
96
void
addTip
(
TIP
* tip);
97
TIP
*
findTIP
(
unsigned
int
id
);
98
99
int
size
()
const
;
100
101
virtual
void
print
(
const
std::string&
indent
=
""
,
unsigned
int
detail
=1)
const override
;
102
103
void
writeXMLItems
(std::ostream &
xmlfile
,
int
indentLevel=0,
int
indentWidth=2)
const
;
104
void
writeXMLThresholds
(std::ostream &
xmlfile
,
int
indentLevel=0,
int
indentWidth=2)
const
;
105
void
writeXMLMonCounters
(std::ostream &
xmlfile
,
int
indentLevel=0,
int
indentWidth=2)
const
;
106
107
DiffStruct
*
compareTo
(
const
Menu
* o)
const
;
108
109
void
clear
();
110
111
std::vector<TrigConf::TriggerItem*>
itemsV
()
const
;
112
113
private
:
114
ThresholdConfig
m_ThresholdConfig
;
115
116
ItemContainer
m_TriggerItemVector
;
117
118
std::vector<ThresholdMonitor*>
m_ThresholdMonitorVector
;
119
std::vector<PIT*>
m_PITs
;
120
std::vector<TIP*>
m_TIPs
;
121
std::map<unsigned int, std::string>
m_LUT
;
// contains the conditions out of each LUT output
122
123
};
124
125
126
127
inline
128
item_by_ctpid_t
&
Menu::item_by_ctpid
() {
return
m_TriggerItemVector
.get<
tag_ctpid
>(); }
129
inline
130
const
item_by_ctpid_t
&
Menu::item_by_ctpid
()
const
{
return
m_TriggerItemVector
.get<
tag_ctpid
>(); }
131
132
inline
133
item_by_name_t
&
Menu::item_by_name
() {
return
m_TriggerItemVector
.get<
tag_name_hash
>(); }
134
inline
135
const
item_by_name_t
&
Menu::item_by_name
()
const
{
return
m_TriggerItemVector
.get<
tag_name_hash
>(); }
136
137
inline
138
const
ItemContainer
&
Menu::itemVector
()
const
{
return
m_TriggerItemVector
; }
139
inline
140
const
ItemContainer
&
Menu::items
()
const
{
return
m_TriggerItemVector
; }
141
142
inline
143
int
Menu::size
()
const
{
return
m_TriggerItemVector
.size(); }
144
145
146
}
147
148
#endif
L1DataBaseclass.h
PIT.h
TIP.h
ThresholdConfig.h
ThresholdMonitor.h
TriggerItem.h
TrigConf::CaloInfo
Definition
CaloInfo.h:35
TrigConf::DiffStruct
Definition
DiffStruct.h:14
TrigConf::L1DataBaseclass::L1DataBaseclass
L1DataBaseclass()
Definition
L1DataBaseclass.h:24
TrigConf::Menu
Definition
Menu.h:49
TrigConf::Menu::Menu
Menu()
Definition
Menu.cxx:15
TrigConf::Menu::addTriggerThreshold
void addTriggerThreshold(TriggerThreshold *tt)
Definition
Menu.cxx:128
TrigConf::Menu::~Menu
virtual ~Menu() override
Definition
Menu.cxx:19
TrigConf::Menu::item
TriggerItem * item(int ctpid) const
Definition
Menu.cxx:84
TrigConf::Menu::compareTo
DiffStruct * compareTo(const Menu *o) const
Definition
Menu.cxx:134
TrigConf::Menu::addTriggerItem
void addTriggerItem(TriggerItem *ti)
Definition
Menu.cxx:48
TrigConf::Menu::thresholdVector
const std::vector< TriggerThreshold * > & thresholdVector() const
Definition
Menu.cxx:123
TrigConf::Menu::item_by_name
item_by_name_t & item_by_name()
Definition
Menu.h:133
TrigConf::Menu::m_ThresholdMonitorVector
std::vector< ThresholdMonitor * > m_ThresholdMonitorVector
Definition
Menu.h:118
TrigConf::Menu::addLutOutputName
void addLutOutputName(unsigned int, const std::string &)
Definition
Menu.cxx:74
TrigConf::Menu::m_ThresholdConfig
ThresholdConfig m_ThresholdConfig
Definition
Menu.h:114
TrigConf::Menu::m_TIPs
std::vector< TIP * > m_TIPs
Definition
Menu.h:120
TrigConf::Menu::item_by_ctpid
item_by_ctpid_t & item_by_ctpid()
Definition
Menu.h:128
TrigConf::Menu::pitVector
const std::vector< PIT * > & pitVector() const
Definition
Menu.h:70
TrigConf::Menu::itemsV
std::vector< TrigConf::TriggerItem * > itemsV() const
Definition
Menu.cxx:328
TrigConf::Menu::lutOutputNames
const std::map< unsigned int, std::string > & lutOutputNames() const
Definition
Menu.h:72
TrigConf::Menu::writeXMLThresholds
void writeXMLThresholds(std::ostream &xmlfile, int indentLevel=0, int indentWidth=2) const
Definition
Menu.cxx:299
TrigConf::Menu::addThresholdMonitor
void addThresholdMonitor(ThresholdMonitor *thrm)
Definition
Menu.cxx:60
TrigConf::Menu::itemVector
const ItemContainer & itemVector() const
Definition
Menu.h:138
TrigConf::Menu::clear
void clear()
Definition
Menu.cxx:160
TrigConf::Menu::addTip
void addTip(TIP *tip)
Definition
Menu.cxx:69
TrigConf::Menu::findThresholdMonitor
ThresholdMonitor * findThresholdMonitor(unsigned int id)
Definition
Menu.cxx:100
TrigConf::Menu::addPit
void addPit(PIT *pit)
Definition
Menu.cxx:64
TrigConf::Menu::size
int size() const
Definition
Menu.h:143
TrigConf::Menu::moncountVector
const std::vector< ThresholdMonitor * > & moncountVector() const
Definition
Menu.h:69
TrigConf::Menu::findTIP
TIP * findTIP(unsigned int id)
Definition
Menu.cxx:114
TrigConf::Menu::setCaloInfo
void setCaloInfo(const CaloInfo &ci)
Definition
Menu.h:81
TrigConf::Menu::thresholdConfig
ThresholdConfig & thresholdConfig()
Definition
Menu.h:76
TrigConf::Menu::writeXMLMonCounters
void writeXMLMonCounters(std::ostream &xmlfile, int indentLevel=0, int indentWidth=2) const
Definition
Menu.cxx:313
TrigConf::Menu::print
virtual void print(const std::string &indent="", unsigned int detail=1) const override
Definition
Menu.cxx:210
TrigConf::Menu::m_LUT
std::map< unsigned int, std::string > m_LUT
Definition
Menu.h:121
TrigConf::Menu::caloInfo
const CaloInfo & caloInfo() const
Definition
Menu.h:74
TrigConf::Menu::findPIT
PIT * findPIT(unsigned int id)
Definition
Menu.cxx:107
TrigConf::Menu::setLutOutputNames
void setLutOutputNames(const std::map< unsigned int, std::string > &lut)
Definition
Menu.h:91
TrigConf::Menu::thresholdConfig
const ThresholdConfig & thresholdConfig() const
Definition
Menu.h:73
TrigConf::Menu::bunchgroupMask
std::vector< uint16_t > bunchgroupMask() const
Definition
Menu.cxx:40
TrigConf::Menu::findTriggerItem
TriggerItem * findTriggerItem(int ctpid) const
Definition
Menu.h:64
TrigConf::Menu::m_PITs
std::vector< PIT * > m_PITs
Definition
Menu.h:119
TrigConf::Menu::writeXMLItems
void writeXMLItems(std::ostream &xmlfile, int indentLevel=0, int indentWidth=2) const
Definition
Menu.cxx:288
TrigConf::Menu::items
const ItemContainer & items() const
Definition
Menu.h:140
TrigConf::Menu::tipVector
const std::vector< TIP * > & tipVector() const
Definition
Menu.h:71
TrigConf::Menu::m_TriggerItemVector
ItemContainer m_TriggerItemVector
Definition
Menu.h:116
TrigConf::PIT
Definition
PIT.h:13
TrigConf::TIP
Definition
TIP.h:13
TrigConf::ThresholdConfig
Definition
ThresholdConfig.h:17
TrigConf::ThresholdMonitor
Definition
ThresholdMonitor.h:18
TrigConf::TrigConfData::indent
std::ostream & indent(std::ostream &o, int lvl, int size) const
Definition
TrigConfData.cxx:23
TrigConf::TriggerItem
Definition
TriggerItem.h:26
TrigConf::TriggerThreshold
Definition
TriggerThreshold.h:20
xmlfile
static std::vector< std::string > xmlfile
Definition
iLumiCalc.h:29
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition
Config.h:22
TrigConf::item_by_name_t
ItemContainer::index< tag_name_hash >::type item_by_name_t
Definition
Menu.h:44
TrigConf::ItemContainer
boost::multi_index::multi_index_container< TriggerItem *, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< TriggerItem > >, boost::multi_index::ordered_unique< boost::multi_index::tag< tag_ctpid >, boost::multi_index::const_mem_fun< TriggerItem, int, &TriggerItem::ctpId > >, boost::multi_index::hashed_unique< boost::multi_index::tag< tag_name_hash >, boost::multi_index::const_mem_fun< TrigConfData, const std::string &, &TrigConfData::name > > > > ItemContainer
Definition
Menu.h:39
TrigConf::item_by_name_iterator
ItemContainer::index< tag_name_hash >::type::iterator item_by_name_iterator
Definition
Menu.h:45
TrigConf::item_by_ctpid_t
ItemContainer::index< tag_ctpid >::type item_by_ctpid_t
Definition
Menu.h:41
TrigConf::item_by_ctpid_iterator
item_by_ctpid_t::iterator item_by_ctpid_iterator
Definition
Menu.h:42
detail
Definition
extract_histogram_tag.cxx:14
TrigConf::name
Definition
HLTChainList.h:35
TrigConf::tag_ctpid
Definition
Menu.h:30
TrigConf::tag_name_hash
Definition
Menu.h:31
Generated on
for ATLAS Offline Software by
1.17.0