ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
src
jFEXDriver.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
jFEXDriver.h
"
6
#include "
L1CaloFEXSim/jFEXOutputCollection.h
"
7
#include "
StoreGate/WriteHandle.h
"
8
9
10
namespace
LVL1
{
11
12
jFEXDriver::jFEXDriver
(
const
std::string&
name
, ISvcLocator* pSvcLocator):
AthAlgorithm
(
name
, pSvcLocator){}
13
14
15
jFEXDriver::~jFEXDriver
()
16
{
17
ATH_MSG_DEBUG
(
"Destroying "
<<
name
() <<
"..."
);
18
}
19
20
21
StatusCode
jFEXDriver::initialize
()
22
{
23
ATH_CHECK
(
m_jFEXSysSimTool
.retrieve() );
24
ATH_CHECK
(
m_jFEXOutputCollectionSGKey
.initialize() );
25
26
return
StatusCode::SUCCESS;
27
28
}
29
30
31
StatusCode
jFEXDriver::finalize
()
32
{
33
ATH_MSG_DEBUG
(
"Finalizing "
<<
name
() <<
"..."
);
34
return
StatusCode::SUCCESS;
35
}
36
37
38
StatusCode
jFEXDriver::execute
(
const
EventContext& ctx) {
39
40
// STEP 1 - Set up the jFEXSysSim
41
m_jFEXSysSimTool
->init();
42
43
// STEP 2 - Do some monitoring
44
jFEXOutputCollection
* my_jFEXOutputCollection =
new
jFEXOutputCollection
();
45
my_jFEXOutputCollection->
setdooutput
(
true
);
46
47
// STEP 3 - Run the jFEXSysSim
48
ATH_CHECK
(
m_jFEXSysSimTool
->execute(ctx, my_jFEXOutputCollection));
49
50
// STEP 4 - Close and clean the event
51
m_jFEXSysSimTool
->cleanup();
52
53
// STEP 5 - Write the completed jFEXOutputCollection into StoreGate (move the local copy in memory)
54
std::unique_ptr<jFEXOutputCollection> local_jFEXOutputCollection = std::unique_ptr<jFEXOutputCollection>(my_jFEXOutputCollection);
55
SG::WriteHandle<LVL1::jFEXOutputCollection>
jFEXOutputCollectionSG(
m_jFEXOutputCollectionSGKey
, ctx);
56
ATH_CHECK
(jFEXOutputCollectionSG.
record
(std::move(local_jFEXOutputCollection)));
57
58
return
StatusCode::SUCCESS;
59
}
60
61
}
// end of LVL1 namespace
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
WriteHandle.h
Handle class for recording to StoreGate.
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
LVL1::jFEXDriver::initialize
virtual StatusCode initialize()
Definition
jFEXDriver.cxx:21
LVL1::jFEXDriver::m_jFEXSysSimTool
ToolHandle< IjFEXSysSim > m_jFEXSysSimTool
Definition
jFEXDriver.h:36
LVL1::jFEXDriver::execute
virtual StatusCode execute(const EventContext &ctx)
Execute method.
Definition
jFEXDriver.cxx:38
LVL1::jFEXDriver::finalize
StatusCode finalize()
Definition
jFEXDriver.cxx:31
LVL1::jFEXDriver::m_jFEXOutputCollectionSGKey
SG::WriteHandleKey< jFEXOutputCollection > m_jFEXOutputCollectionSGKey
Definition
jFEXDriver.h:34
LVL1::jFEXDriver::jFEXDriver
jFEXDriver(const std::string &name, ISvcLocator *pSvcLocator)
Definition
jFEXDriver.cxx:12
LVL1::jFEXDriver::~jFEXDriver
virtual ~jFEXDriver()
Definition
jFEXDriver.cxx:15
LVL1::jFEXOutputCollection
Definition
jFEXOutputCollection.h:23
LVL1::jFEXOutputCollection::setdooutput
void setdooutput(bool)
Definition
jFEXOutputCollection.cxx:200
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
jFEXDriver.h
jFEXOutputCollection.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
TrigConf::name
Definition
HLTChainList.h:35
Generated on
for ATLAS Offline Software by
1.17.0