ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonCnv
xAODMuonViewAlgs
src
MdtMeasViewAlg.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 "
MdtMeasViewAlg.h
"
6
7
#include <
StoreGate/WriteHandle.h
>
8
#include <
AthContainers/ConstDataVector.h
>
9
#include <
xAODMuonViews/ContainerMerge.h
>
10
11
#include <ranges>
12
13
namespace
MuonR4
{
14
StatusCode
MdtMeasViewAlg::initialize
() {
15
ATH_CHECK
(
m_readKey1D
.initialize());
16
ATH_CHECK
(
m_readKey2D
.initialize());
17
ATH_CHECK
(
m_writeKey
.initialize());
18
return
StatusCode::SUCCESS;
19
}
20
StatusCode
MdtMeasViewAlg::execute
(
const
EventContext& ctx)
const
{
21
const
xAOD::MdtDriftCircleContainer
* driftCircles{
nullptr
};
22
const
xAOD::MdtTwinDriftCircleContainer
* twinCircles{
nullptr
};
23
24
ATH_CHECK
(
SG::get
(driftCircles,
m_readKey1D
, ctx));
25
ATH_CHECK
(
SG::get
(twinCircles,
m_readKey2D
, ctx));
26
27
ConstDataVector<xAOD::MdtDriftCircleContainer>
outContainer{
SG::VIEW_ELEMENTS
};
28
xAOD::mergeContainer
(outContainer, *driftCircles, *twinCircles);
29
SG::WriteHandle
writeHandle{
m_writeKey
, ctx};
30
ATH_CHECK
(writeHandle.
record
(std::make_unique<xAOD::MdtDriftCircleContainer>(*outContainer.
asDataVector
())));
31
return
StatusCode::SUCCESS;
32
}
33
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
ContainerMerge.h
MdtMeasViewAlg.h
WriteHandle.h
Handle class for recording to StoreGate.
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition
ConstDataVector.h:76
ConstDataVector::asDataVector
const DV * asDataVector() const
Return a pointer to this object, as a const DataVector.
MuonR4::MdtMeasViewAlg::m_readKey2D
SG::ReadHandleKey< xAOD::MdtTwinDriftCircleContainer > m_readKey2D
Definition
MdtMeasViewAlg.h:32
MuonR4::MdtMeasViewAlg::initialize
StatusCode initialize() override
Definition
MdtMeasViewAlg.cxx:14
MuonR4::MdtMeasViewAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
MdtMeasViewAlg.cxx:20
MuonR4::MdtMeasViewAlg::m_writeKey
SG::WriteHandleKey< xAOD::MdtDriftCircleContainer > m_writeKey
Definition
MdtMeasViewAlg.h:35
MuonR4::MdtMeasViewAlg::m_readKey1D
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_readKey1D
Definition
MdtMeasViewAlg.h:29
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.
MuonR4
This header ties the generic definitions in this package.
Definition
GlobalPattern.h:14
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition
OwnershipPolicy.h:18
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
xAOD::MdtTwinDriftCircleContainer
MdtTwinDriftCircleContainer_v1 MdtTwinDriftCircleContainer
Definition
MdtTwinDriftCircleContainer.h:14
xAOD::mergeContainer
void mergeContainer(ConstDataVector< outT > &outContainer, const DataVector< inT > &inCont)
Merges a single container of MuonMeasurement objects into an output container.
Definition
ContainerMerge.h:123
xAOD::MdtDriftCircleContainer
MdtDriftCircleContainer_v1 MdtDriftCircleContainer
Definition
MdtDriftCircleContainer.h:13
Generated on
for ATLAS Offline Software by
1.17.0