ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
11#include <ranges>
12
13namespace MuonR4 {
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
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}
#define ATH_CHECK
Evaluate an expression and check for errors.
DataVector adapter that acts like it holds const pointers.
Handle class for recording to StoreGate.
DataVector adapter that acts like it holds const pointers.
const DV * asDataVector() const
Return a pointer to this object, as a const DataVector.
SG::ReadHandleKey< xAOD::MdtTwinDriftCircleContainer > m_readKey2D
StatusCode initialize() override
StatusCode execute(const EventContext &ctx) const override
SG::WriteHandleKey< xAOD::MdtDriftCircleContainer > m_writeKey
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_readKey1D
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
This header ties the generic definitions in this package.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
MdtTwinDriftCircleContainer_v1 MdtTwinDriftCircleContainer
void mergeContainer(ConstDataVector< outT > &outContainer, const DataVector< inT > &inCont)
Merges a single container of MuonMeasurement objects into an output container.
MdtDriftCircleContainer_v1 MdtDriftCircleContainer