ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
src
eFEXSim.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//***************************************************************************
6
// eFEXSim.h -
7
// -------------------
8
// begin : 22 08 2019
9
// email : jacob.julian.kempster@cern.ch
10
// ***************************************************************************/
11
12
13
#ifndef eFEXSim_H
14
#define eFEXSim_H
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
AthenaKernel/CLASS_DEF.h
"
17
#include "
L1CaloFEXSim/eTower.h
"
18
#include "
eFEXFPGA.h
"
19
#include "
L1CaloFEXSim/eFEXOutputCollection.h
"
20
#include "
L1CaloFEXSim/eFEXegTOB.h
"
21
22
namespace
LVL1
{
23
24
//Doxygen class description below:
30
static
const
InterfaceID
IID_IeFEXSim
(
"LVL1::eFEXSim"
, 1, 0);
31
32
class
eFEXSim
:
public
AthAlgTool
{
33
34
public
:
35
static
const
InterfaceID&
interfaceID
() {
return
IID_IeFEXSim
; };
37
eFEXSim
(
const
std::string&
type
,
const
std::string&
name
,
const
IInterface* parent);
38
40
virtual
~eFEXSim
();
41
43
virtual
StatusCode
initialize
();
45
virtual
StatusCode
finalize
();
46
47
virtual
void
init
(
int
id
);
48
49
virtual
void
reset
();
50
51
virtual
int
ID
()
const
{
return
m_id
;}
52
53
virtual
void
SetTowersAndCells_SG
(
int
tmp[10][18]);
54
55
virtual
StatusCode
NewExecute
(
int
tmp[10][18],
eFEXOutputCollection
* inputOutputCollection,
const
EventContext& ctx);
56
57
virtual
std::vector<std::unique_ptr<eFEXegTOB>>
getEmTOBs
();
58
virtual
std::vector<std::unique_ptr<eFEXtauTOB>>
getTauHeuristicTOBs
();
59
virtual
std::vector<std::unique_ptr<eFEXtauTOB>>
getTauBDTTOBs
();
60
61
private
:
62
63
std::vector<std::unique_ptr<eFEXtauTOB>>
getTauTOBs
(std::vector<std::vector<std::unique_ptr<eFEXtauTOB>> >& tauTobObjects);
65
private
:
66
int
m_id
{};
67
int
m_eTowersIDs
[10][18]{};
68
std::vector<eFEXFPGA*>
m_eFEXFPGACollection
;
69
70
std::vector<std::vector<std::unique_ptr<eFEXegTOB>> >
m_emTobObjects
;
71
std::vector<std::vector<std::unique_ptr<eFEXtauTOB>> >
m_tauHeuristicTobObjects
;
72
std::vector<std::vector<std::unique_ptr<eFEXtauTOB>> >
m_tauBDTTobObjects
;
73
74
ToolHandle<eFEXFPGA>
m_eFEXFPGATool
{
this
,
"eFEXFPGATool"
,
"LVL1::eFEXFPGA"
,
"Tool that simulates the FPGA hardware"
};
75
76
77
};
78
79
}
// end of namespace
80
81
//CLASS_DEF( LVL1::eFEXSim , 32201200 , 1 )
82
83
84
#endif
AthAlgTool.h
CLASS_DEF.h
macros to associate a CLID to a type
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
LVL1::eFEXOutputCollection
Definition
eFEXOutputCollection.h:23
LVL1::eFEXSim::m_eFEXFPGATool
ToolHandle< eFEXFPGA > m_eFEXFPGATool
Definition
eFEXSim.h:74
LVL1::eFEXSim::m_tauHeuristicTobObjects
std::vector< std::vector< std::unique_ptr< eFEXtauTOB > > > m_tauHeuristicTobObjects
Definition
eFEXSim.h:71
LVL1::eFEXSim::getTauTOBs
std::vector< std::unique_ptr< eFEXtauTOB > > getTauTOBs(std::vector< std::vector< std::unique_ptr< eFEXtauTOB > > > &tauTobObjects)
Definition
eFEXSim.cxx:177
LVL1::eFEXSim::getEmTOBs
virtual std::vector< std::unique_ptr< eFEXegTOB > > getEmTOBs()
Definition
eFEXSim.cxx:148
LVL1::eFEXSim::m_id
int m_id
Internal data.
Definition
eFEXSim.h:66
LVL1::eFEXSim::m_emTobObjects
std::vector< std::vector< std::unique_ptr< eFEXegTOB > > > m_emTobObjects
Definition
eFEXSim.h:70
LVL1::eFEXSim::reset
virtual void reset()
Definition
eFEXSim.cxx:42
LVL1::eFEXSim::finalize
virtual StatusCode finalize()
standard Athena-Algorithm method
Definition
eFEXSim.cxx:36
LVL1::eFEXSim::getTauBDTTOBs
virtual std::vector< std::unique_ptr< eFEXtauTOB > > getTauBDTTOBs()
Definition
eFEXSim.cxx:209
LVL1::eFEXSim::init
virtual void init(int id)
Definition
eFEXSim.cxx:57
LVL1::eFEXSim::interfaceID
static const InterfaceID & interfaceID()
Definition
eFEXSim.h:35
LVL1::eFEXSim::getTauHeuristicTOBs
virtual std::vector< std::unique_ptr< eFEXtauTOB > > getTauHeuristicTOBs()
Definition
eFEXSim.cxx:204
LVL1::eFEXSim::m_tauBDTTobObjects
std::vector< std::vector< std::unique_ptr< eFEXtauTOB > > > m_tauBDTTobObjects
Definition
eFEXSim.h:72
LVL1::eFEXSim::initialize
virtual StatusCode initialize()
standard Athena-Algorithm method
Definition
eFEXSim.cxx:28
LVL1::eFEXSim::eFEXSim
eFEXSim(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition
eFEXSim.cxx:19
LVL1::eFEXSim::SetTowersAndCells_SG
virtual void SetTowersAndCells_SG(int tmp[10][18])
Definition
eFEXSim.cxx:214
LVL1::eFEXSim::m_eFEXFPGACollection
std::vector< eFEXFPGA * > m_eFEXFPGACollection
Definition
eFEXSim.h:68
LVL1::eFEXSim::ID
virtual int ID() const
Definition
eFEXSim.h:51
LVL1::eFEXSim::~eFEXSim
virtual ~eFEXSim()
Destructor.
Definition
eFEXSim.cxx:63
LVL1::eFEXSim::NewExecute
virtual StatusCode NewExecute(int tmp[10][18], eFEXOutputCollection *inputOutputCollection, const EventContext &ctx)
Definition
eFEXSim.cxx:68
LVL1::eFEXSim::m_eTowersIDs
int m_eTowersIDs[10][18]
Definition
eFEXSim.h:67
eFEXFPGA.h
eFEXOutputCollection.h
create ntuples output
eFEXegTOB.h
eTower.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
LVL1::IID_IeFEXSim
static const InterfaceID IID_IeFEXSim("LVL1::eFEXSim", 1, 0)
The eFEXSim class defines the structure of a single eFEX Its purpose is:
type
TrigConf::name
Definition
HLTChainList.h:35
Generated on
for ATLAS Offline Software by
1.17.0