ATLAS Offline Software
CaloClusterGPUProcessor.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 //
4 // Dear emacs, this is -*- c++ -*-
5 //
6 
7 #ifndef CALORECGPU_CALOCLUSTERGPUPROCESSOR_H
8 #define CALORECGPU_CALOCLUSTERGPUPROCESSOR_H
9 
10 
12 #include "GaudiKernel/EventContext.h"
13 #include "CaloRecGPU/DataHolders.h"
14 
26 class CaloClusterGPUProcessor : virtual public IAlgTool
27 {
28  public:
29 
40  virtual StatusCode execute (const EventContext & ctx,
41  const CaloRecGPU::ConstantDataHolder & constant_data,
42  CaloRecGPU::EventDataHolder & event_data,
43  void * temporary_buffer) const = 0;
44 
48  virtual size_t size_of_temporaries() const
49  {
50  return 0;
51  };
52 
54 
55 };
56 
57 
58 #endif //CALORECGPU_CALOCLUSTERGPUPROCESSOR_H
CaloClusterGPUProcessor::execute
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const =0
Process the clusters on GPU.
CaloClusterGPUProcessor
Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcess...
Definition: CaloClusterGPUProcessor.h:27
CaloClusterGPUProcessor::size_of_temporaries
virtual size_t size_of_temporaries() const
The size (in bytes) of the temporary object(s) that the algorithm will use.
Definition: CaloClusterGPUProcessor.h:48
CaloRecGPU::EventDataHolder
Definition: DataHolders.h:35
CaloClusterGPUProcessor::DeclareInterfaceID
DeclareInterfaceID(CaloClusterGPUProcessor, 1, 0)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
CaloRecGPU::ConstantDataHolder
Definition: DataHolders.h:19
DataHolders.h