ATLAS Offline Software
Loading...
Searching...
No Matches
CopiesAdaptorTool.h
Go to the documentation of this file.
1//
2// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3//
4#ifndef ATHDEVICECOMPS_COPIESADAPTORTOOL_H
5#define ATHDEVICECOMPS_COPIESADAPTORTOOL_H
6
7// Framework include(s).
9#include "GaudiKernel/ToolHandle.h"
10
11// AthDevice include(s).
14
15namespace AthDevice {
16
22class CopiesAdaptorTool : public extends<AthAlgTool, ICopiesTool> {
23
24 public:
25 // Inherit the base class's constructor(s).
26 using extends::extends;
27
30
32 virtual StatusCode initialize() override;
33
35
38
40 virtual std::shared_ptr<const vecmem::copy> hostCopy(
41 const EventContext& ctx) const override;
42
44 virtual std::shared_ptr<const vecmem::copy> deviceCopy(
45 const EventContext& ctx) const override;
46
48
49 private:
51 ToolHandle<ICopyTool> m_hostCopyTool{this, "HostCopyTool", "",
52 "Tool providing the 'host' copy object"};
53
54 ToolHandle<ICopyTool> m_deviceCopyTool{
55 this, "DeviceCopyTool", "", "Tool providing the 'device' copy object"};
56
57}; // class CopiesAdaptorTool
58
59} // namespace AthDevice
60
61#endif // ATHDEVICECOMPS_COPIESADAPTORTOOL_H
Tool implementing AthDevice::ICopiesTool using two tools.
ToolHandle< ICopyTool > m_hostCopyTool
Handle to the "host" copy tool.
ToolHandle< ICopyTool > m_deviceCopyTool
Handle to the "device" copy tool.
virtual std::shared_ptr< const vecmem::copy > hostCopy(const EventContext &ctx) const override
Get the "host" copy object.
virtual StatusCode initialize() override
Initialize the tool.
virtual std::shared_ptr< const vecmem::copy > deviceCopy(const EventContext &ctx) const override
Get the "device" copy object.