ATLAS Offline Software
Loading...
Searching...
No Matches
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"
14
25
26class 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
Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcess...
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.
DeclareInterfaceID(CaloClusterGPUProcessor, 1, 0)
virtual size_t size_of_temporaries() const
The size (in bytes) of the temporary object(s) that the algorithm will use.
Holds CPU and GPU versions of the geometry and cell noise information, which are assumed to be consta...
Definition DataHolders.h:27
Holds the mutable per-event information (clusters and cells) and provides utilities to convert betwee...
Definition DataHolders.h:73