ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
EFTrackingFPGAIntegration
EFTrackingFPGAPipeline
src
F100EDMConversionAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
EFTrackingFPGAPipeline/F100EDMConversionAlg.h
"
6
#include "
AthenaKernel/Chrono.h
"
7
8
namespace
EFTrackingFPGAIntegration
9
{
10
StatusCode
F100EDMConversionAlg::initialize
()
11
{
12
ATH_CHECK
(
m_xaodClusterMaker
.retrieve());
13
14
ATH_CHECK
(
m_FPGAPixelOutput
.initialize());
15
ATH_CHECK
(
m_FPGAStripOutput
.initialize());
16
17
18
return
StatusCode::SUCCESS;
19
}
20
21
StatusCode
F100EDMConversionAlg::execute
(
const
EventContext &ctx)
const
22
{
23
ATH_MSG_DEBUG
(
"Executing F100EDMConversionAlg"
);
24
25
26
auto
pixelOutput =
SG::get
(
m_FPGAPixelOutput
, ctx);
27
auto
stripOutput =
SG::get
(
m_FPGAStripOutput
, ctx);
28
29
// use 64-bit pointer to access output
30
const
uint32_t *stripClusters = (*stripOutput).data();
31
const
uint32_t *pixelClusters = (*pixelOutput).data();
32
33
unsigned
int
numStripClusters = stripClusters[0];
34
ATH_MSG_DEBUG
(
"numStripClusters: "
<< numStripClusters);
35
36
unsigned
int
numPixelClusters = pixelClusters[0];
37
ATH_MSG_DEBUG
(
"numPixelClusters: "
<< numPixelClusters);
38
39
std::unique_ptr<EFTrackingTransient::Metadata> metadata = std::make_unique<EFTrackingTransient::Metadata>();
40
41
metadata->numOfStripClusters = numStripClusters;
42
metadata->scRdoIndexSize = numStripClusters;
43
metadata->numOfPixelClusters = numPixelClusters;
44
metadata->pcRdoIndexSize = numPixelClusters;
45
46
// make strip cluster
47
ATH_CHECK
(
m_xaodClusterMaker
->makeStripClusterContainer(stripClusters, metadata.get(), ctx));
48
49
// Make pixel cluster
50
ATH_CHECK
(
m_xaodClusterMaker
->makePixelClusterContainer(pixelClusters, metadata.get(), ctx));
51
52
53
54
return
StatusCode::SUCCESS;
55
}
56
57
}
// namespace EFTrackingFPGAIntegration
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
Chrono.h
Exception-safe IChronoSvc caller.
F100EDMConversionAlg.h
EFTrackingFPGAIntegration::F100EDMConversionAlg::m_FPGAPixelOutput
SG::ReadHandleKey< std::vector< uint32_t > > m_FPGAPixelOutput
Definition
F100EDMConversionAlg.h:43
EFTrackingFPGAIntegration::F100EDMConversionAlg::m_xaodClusterMaker
ToolHandle< xAODClusterMaker > m_xaodClusterMaker
Tool for creating xAOD containers.
Definition
F100EDMConversionAlg.h:36
EFTrackingFPGAIntegration::F100EDMConversionAlg::execute
virtual StatusCode execute(const EventContext &ctx) const
Definition
F100EDMConversionAlg.cxx:21
EFTrackingFPGAIntegration::F100EDMConversionAlg::m_FPGAStripOutput
SG::ReadHandleKey< std::vector< uint32_t > > m_FPGAStripOutput
Definition
F100EDMConversionAlg.h:44
EFTrackingFPGAIntegration::F100EDMConversionAlg::initialize
virtual StatusCode initialize() override
Definition
F100EDMConversionAlg.cxx:10
EFTrackingFPGAIntegration
The class for enconding RDO to FPGA format.
Definition
F100DataEncodingAlg.h:27
SG::get
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
Definition
ReadCondHandle.h:282
Generated on
for ATLAS Offline Software by
1.17.0