ATLAS Offline Software
Loading...
Searching...
No Matches
eFEXDriver.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6#include "eFEXDriver.h"
7#include "eFEXSim.h"
9
11
12
13namespace LVL1 {
14
15 eFEXDriver::eFEXDriver(const std::string& name, ISvcLocator* pSvcLocator)
16 : AthAlgorithm(name, pSvcLocator)//AthReentrantAlgorithm(name, pSvcLocator)
17 {
18
19 }
20
21
23{
24 ATH_MSG_DEBUG("Destroying " << name() << "...");
25}
26
27
29{
30 ATH_CHECK( m_eFEXSysSimTool.retrieve() );
31
33
34 return StatusCode::SUCCESS;
35}
36
37
39{
40 ATH_MSG_DEBUG("Finalizing " << name() << "...");
41 return StatusCode::SUCCESS;
42}
43
44
45 StatusCode eFEXDriver::execute(/*const EventContext& ctx*/) //const
46{
47
48 // STEP 2 - Do some monitoring
49 eFEXOutputCollection* my_eFEXOutputCollection = new eFEXOutputCollection();
50 my_eFEXOutputCollection->setdooutput(true);
51
52 // STEP 3 - Run THE eFEXSysSim
53 ATH_CHECK(m_eFEXSysSimTool->execute(my_eFEXOutputCollection));
54
55 // STEP 5 - Write the completed eFEXOutputCollection into StoreGate (move the local copy in memory)
56 std::unique_ptr<eFEXOutputCollection> local_eFEXOutputCollection = std::unique_ptr<eFEXOutputCollection>(my_eFEXOutputCollection);
58 ATH_CHECK(eFEXOutputCollectionSG.record(std::move(local_eFEXOutputCollection)));
59
60 return StatusCode::SUCCESS;
61}
62
63
64} // end of LVL1 namespace
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
Handle class for recording to StoreGate.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
eFEXDriver(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< eFEXSysSim > m_eFEXSysSimTool
Definition eFEXDriver.h:30
StatusCode finalize()
virtual StatusCode initialize()
virtual StatusCode execute()
SG::WriteHandleKey< eFEXOutputCollection > m_eFEXOutputCollectionSGKey
Definition eFEXDriver.h:28
virtual ~eFEXDriver()
void setdooutput(bool)
setting to true if ntuple output is needed
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
create ntuples output
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...