2#ifndef ATHEXDEVICE_EVENTDATACOPYEXAMPLEALG_H
3#define ATHEXDEVICE_EVENTDATACOPYEXAMPLEALG_H
7#include "GaudiKernel/ToolHandle.h"
28 using AthReentrantAlgorithm::AthReentrantAlgorithm;
37 virtual StatusCode
execute(
const EventContext& ctx)
const override;
47 this,
"InputContainer",
"InDetTrackParticles",
48 "The input track particle container"};
51 this,
"OutputContainer",
"InDetTrackParticlesCopy",
52 "The output track particle container"};
56 this,
"CopiesTool",
"",
57 "The copies tool to use for copying data to/from the device"};
59 ToolHandle<AthDevice::IMemoryResourcesTool>
m_mrs{
60 this,
"MemoryResourcesTool",
"",
61 "The memory resources tool to use for allocating memory on the device"};
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Example for how "device agnostic" event data copies should be done.
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputKey
The input container.
ToolHandle< AthDevice::IMemoryResourcesTool > m_mrs
The memory resources tool to use for allocating memory on the device.
ToolHandle< AthDevice::ICopiesTool > m_copies
The copies tool to use for copying data to/from the device.
virtual StatusCode initialize() override
Function initialising the algorithm.
SG::WriteHandleKey< DeviceObjectCollection::buffer > m_outputKey
The output container.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.