ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigConfiguration
TrigConfData
TrigConfData
L1Connector.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 TRIGCONFDATA_L1CONNECTOR_H
6
#define TRIGCONFDATA_L1CONNECTOR_H
7
8
#include "
TrigConfData/ConstIter.h
"
9
#include "
TrigConfData/DataStructure.h
"
10
11
#include <map>
12
#include <vector>
13
#include <string>
14
15
namespace
TrigConf
{
16
22
class
TriggerLine
{
23
public
:
24
TriggerLine
(
const
std::string &
name
,
unsigned
int
startbit
,
unsigned
int
nbits
,
unsigned
int
flatindex
,
unsigned
int
fpga
=0,
unsigned
int
clock
=0,
const
std::string &
connName
=
""
) :
25
m_name
(
name
),
m_startbit
(
startbit
),
m_nbits
(
nbits
),
m_flatindex
(
flatindex
),
m_fpga
(
fpga
),
m_clock
(
clock
),
m_connName
(
connName
)
26
{}
27
const
std::string &
name
()
const
{
return
m_name
; }
28
unsigned
int
startbit
()
const
{
return
m_startbit
; }
29
unsigned
int
flatindex
()
const
{
return
m_flatindex
; }
30
unsigned
int
endbit
()
const
{
return
m_startbit
+
m_nbits
- 1; }
31
unsigned
int
nbits
()
const
{
return
m_nbits
; }
32
unsigned
int
fpga
()
const
{
return
m_fpga
; }
33
unsigned
int
clock
()
const
{
return
m_clock
; }
34
const
std::string &
connName
()
const
{
return
m_connName
; }
35
private
:
36
std::string
m_name
;
// the name of the threshold whose multiplicity is transmitted
37
unsigned
int
m_startbit
;
// the location on the cable - first bit
38
unsigned
int
m_nbits
;
// the location on the cable - number of bits used to encode the multiplicity
39
unsigned
int
m_flatindex
;
// position of output bit in topo board for a given fpga/clock - first bit
40
unsigned
int
m_fpga
;
// for electrical signals from L1Topo boards only: the fpga the signal is coming from
41
unsigned
int
m_clock
;
// for electrical signals from L1Topo boards only: the clock of the signal
42
std::string
m_connName
;
// the name of the connector where the triggerline is allocated
43
};
44
46
class
L1Connector
final :
public
DataStructure
{
47
public
:
48
49
enum class
ConnectorType
{
ELECTRICAL
,
OPTICAL
,
CTPIN
,
UNKNOWN
};
50
52
L1Connector
();
53
54
L1Connector
(
const
L1Connector
&) =
delete
;
55
L1Connector
&
operator=
(
const
L1Connector
&) =
delete
;
56
L1Connector
(
L1Connector
&&) =
delete
;
57
61
L1Connector
(
const
std::string & connName,
const
ptree
&
data
);
62
64
virtual
~L1Connector
()
override
=
default
;
65
66
virtual
std::string
className
()
const override
;
67
69
std::size_t
size
()
const
;
70
71
std::string
type
()
const
;
72
74
ConnectorType
connectorType
()
const
;
75
77
std::vector<std::string>
triggerLineNames
()
const
;
78
88
const
std::vector<TrigConf::TriggerLine> &
triggerLines
(
unsigned
int
fpga = 0,
unsigned
int
clock = 0)
const
;
89
90
bool
hasLine
(
const
std::string & lineName )
const
;
91
92
const
TrigConf::TriggerLine
&
triggerLine
(
const
std::string & lineName )
const
;
93
94
bool
legacy
()
const
{
return
m_isLegacy
; }
95
96
[[deprecated(
"Use legacy() instead."
)]]
97
bool
isLegacy
()
const
{
return
m_isLegacy
; }
98
99
std::size_t
maxFpga
()
const
{
return
m_maxFpga
; }
100
101
std::size_t
maxClock
()
const
{
return
m_maxClock
; }
102
103
private
:
104
106
virtual
void
update
()
override
;
107
108
ConnectorType
m_type
{
ConnectorType::UNKNOWN
};
109
std::vector<TrigConf::TriggerLine>
m_triggerLines
[2][2];
110
std::map<std::string, TrigConf::TriggerLine*>
m_lineByName
;
111
std::size_t
m_maxFpga
{1};
112
std::size_t
m_maxClock
{1};
113
114
bool
m_isLegacy
{};
115
};
116
117
}
118
119
#endif
ConstIter.h
DataStructure.h
TrigConf::DataStructure::data
const ptree & data() const
Access to the underlying data, if needed.
Definition
DataStructure.h:83
TrigConf::DataStructure::DataStructure
DataStructure()
Default constructor, leading to an uninitialized configuration object.
Definition
DataStructure.cxx:11
TrigConf::DataStructure::ptree
boost::property_tree::ptree ptree
Definition
DataStructure.h:40
TrigConf::L1Connector::m_triggerLines
std::vector< TrigConf::TriggerLine > m_triggerLines[2][2]
Definition
L1Connector.h:109
TrigConf::L1Connector::isLegacy
bool isLegacy() const
Definition
L1Connector.h:97
TrigConf::L1Connector::m_maxFpga
std::size_t m_maxFpga
Definition
L1Connector.h:111
TrigConf::L1Connector::hasLine
bool hasLine(const std::string &lineName) const
Definition
L1Connector.cxx:176
TrigConf::L1Connector::maxFpga
std::size_t maxFpga() const
Definition
L1Connector.h:99
TrigConf::L1Connector::ConnectorType
ConnectorType
Definition
L1Connector.h:49
TrigConf::L1Connector::ConnectorType::UNKNOWN
@ UNKNOWN
Definition
L1Connector.h:49
TrigConf::L1Connector::ConnectorType::ELECTRICAL
@ ELECTRICAL
Definition
L1Connector.h:49
TrigConf::L1Connector::ConnectorType::CTPIN
@ CTPIN
Definition
L1Connector.h:49
TrigConf::L1Connector::ConnectorType::OPTICAL
@ OPTICAL
Definition
L1Connector.h:49
TrigConf::L1Connector::type
std::string type() const
Definition
L1Connector.cxx:123
TrigConf::L1Connector::connectorType
ConnectorType connectorType() const
Accessor to the connector type.
Definition
L1Connector.cxx:138
TrigConf::L1Connector::className
virtual std::string className() const override
A string that is the name of the class.
Definition
L1Connector.cxx:21
TrigConf::L1Connector::legacy
bool legacy() const
Definition
L1Connector.h:94
TrigConf::L1Connector::triggerLine
const TrigConf::TriggerLine & triggerLine(const std::string &lineName) const
Definition
L1Connector.cxx:182
TrigConf::L1Connector::triggerLines
const std::vector< TrigConf::TriggerLine > & triggerLines(unsigned int fpga=0, unsigned int clock=0) const
Accessor to the triggerlines on the connector.
Definition
L1Connector.cxx:170
TrigConf::L1Connector::operator=
L1Connector & operator=(const L1Connector &)=delete
TrigConf::L1Connector::m_isLegacy
bool m_isLegacy
Definition
L1Connector.h:114
TrigConf::L1Connector::size
std::size_t size() const
Accessor to the number of trigger lines.
Definition
L1Connector.cxx:144
TrigConf::L1Connector::maxClock
std::size_t maxClock() const
Definition
L1Connector.h:101
TrigConf::L1Connector::L1Connector
L1Connector(L1Connector &&)=delete
TrigConf::L1Connector::m_type
ConnectorType m_type
Definition
L1Connector.h:108
TrigConf::L1Connector::m_lineByName
std::map< std::string, TrigConf::TriggerLine * > m_lineByName
Definition
L1Connector.h:110
TrigConf::L1Connector::update
virtual void update() override
Update the internal members.
Definition
L1Connector.cxx:26
TrigConf::L1Connector::L1Connector
L1Connector(const L1Connector &)=delete
TrigConf::L1Connector::m_maxClock
std::size_t m_maxClock
Definition
L1Connector.h:112
TrigConf::L1Connector::L1Connector
L1Connector()
Constructor.
Definition
L1Connector.cxx:10
TrigConf::L1Connector::triggerLineNames
std::vector< std::string > triggerLineNames() const
names of all trigger lines
Definition
L1Connector.cxx:156
TrigConf::L1Connector::~L1Connector
virtual ~L1Connector() override=default
Destructor.
TrigConf::TriggerLine
a TriggerLine entry describes the location of a threshold multiplicity on a cable (connector)
Definition
L1Connector.h:22
TrigConf::TriggerLine::m_connName
std::string m_connName
Definition
L1Connector.h:42
TrigConf::TriggerLine::m_clock
unsigned int m_clock
Definition
L1Connector.h:41
TrigConf::TriggerLine::m_nbits
unsigned int m_nbits
Definition
L1Connector.h:38
TrigConf::TriggerLine::clock
unsigned int clock() const
Definition
L1Connector.h:33
TrigConf::TriggerLine::endbit
unsigned int endbit() const
Definition
L1Connector.h:30
TrigConf::TriggerLine::m_startbit
unsigned int m_startbit
Definition
L1Connector.h:37
TrigConf::TriggerLine::flatindex
unsigned int flatindex() const
Definition
L1Connector.h:29
TrigConf::TriggerLine::TriggerLine
TriggerLine(const std::string &name, unsigned int startbit, unsigned int nbits, unsigned int flatindex, unsigned int fpga=0, unsigned int clock=0, const std::string &connName="")
Definition
L1Connector.h:24
TrigConf::TriggerLine::startbit
unsigned int startbit() const
Definition
L1Connector.h:28
TrigConf::TriggerLine::nbits
unsigned int nbits() const
Definition
L1Connector.h:31
TrigConf::TriggerLine::m_fpga
unsigned int m_fpga
Definition
L1Connector.h:40
TrigConf::TriggerLine::connName
const std::string & connName() const
Definition
L1Connector.h:34
TrigConf::TriggerLine::name
const std::string & name() const
Definition
L1Connector.h:27
TrigConf::TriggerLine::fpga
unsigned int fpga() const
Definition
L1Connector.h:32
TrigConf::TriggerLine::m_flatindex
unsigned int m_flatindex
Definition
L1Connector.h:39
TrigConf::TriggerLine::m_name
std::string m_name
Definition
L1Connector.h:36
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition
Config.h:22
Generated on
for ATLAS Offline Software by
1.17.0