ATLAS Offline Software
IKernelRunnerSvc.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 //
3 // Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 //
5 #ifndef ATHCUDAINTERFACES_IKERNELRUNNERSVC_H
6 #define ATHCUDAINTERFACES_IKERNELRUNNERSVC_H
7 
8 // Local include(s).
10 
11 // Gaudi include(s).
12 #include "GaudiKernel/IService.h"
13 #include "GaudiKernel/StatusCode.h"
14 
15 // System include(s).
16 #include <memory>
17 
18 namespace AthCUDA {
19 
27  class IKernelRunnerSvc : public virtual IService {
28 
29  public:
32 
47  virtual StatusCode execute( std::unique_ptr< IKernelTask > task ) = 0;
48 
49  }; // class IKernelRunnerSvc
50 
51 } // namespace AthCUDA
52 
53 #endif // ATHCUDAINTERFACES_IKERNELRUNNERSVC_H
AthCUDA::IKernelRunnerSvc::DeclareInterfaceID
DeclareInterfaceID(AthCUDA::IKernelRunnerSvc, 1, 0)
Declare the interface ID.
AthCUDA::IKernelRunnerSvc::execute
virtual StatusCode execute(std::unique_ptr< IKernelTask > task)=0
Execute a user specified kernel task.
AthCUDA::IKernelRunnerSvc
Interface for executing AthCUDA::IKernelTask tasks.
Definition: IKernelRunnerSvc.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthCUDA
Definition: Info.h:14
IKernelTask.h