ATLAS Offline Software
CaloClusterGPUTransformers.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_CALOCLUSTERGPUTRANSFORMERS_H
8 #define CALORECGPU_CALOCLUSTERGPUTRANSFORMERS_H
9 
10 
13 #include "CaloRecGPU/DataHolders.h"
14 
26 class ICaloClusterGPUConstantTransformer : virtual public IAlgTool
27 {
28  public:
29 
35  virtual StatusCode convert (CaloRecGPU::ConstantDataHolder & constant_data, const bool override_keep_CPU_info) const = 0;
36 
45  inline virtual StatusCode convert (const EventContext &, CaloRecGPU::ConstantDataHolder & constant_data, const bool override_keep_CPU_info) const
46  {
47  return this->convert(constant_data, override_keep_CPU_info);
48  }
49 
51 };
52 
65 class ICaloClusterGPUInputTransformer : virtual public IAlgTool
66 {
67  public:
68 
76  virtual StatusCode convert (const EventContext & ctx, const CaloRecGPU::ConstantDataHolder & constant_data,
77  const xAOD::CaloClusterContainer * cluster_collection, CaloRecGPU::EventDataHolder & event_data) const = 0;
78 
80 };
81 
93 class ICaloClusterGPUOutputTransformer : virtual public IAlgTool
94 {
95  public:
96 
104  virtual StatusCode convert (const EventContext & ctx, const CaloRecGPU::ConstantDataHolder & constant_data,
105  CaloRecGPU::EventDataHolder & event_data, xAOD::CaloClusterContainer * cluster_collection) const = 0;
106 
108 };
109 
110 
113 
126 class ICaloClusterGPUPlotter : virtual public IAlgTool
127 {
128  public:
129  virtual StatusCode update_plots_start(const EventContext & ctx,
130  const CaloRecGPU::ConstantDataHolder & constant_data,
131  const xAOD::CaloClusterContainer * cluster_collection_ptr) const = 0;
132 
133  virtual StatusCode update_plots_end(const EventContext & ctx,
134  const CaloRecGPU::ConstantDataHolder & constant_data,
135  const xAOD::CaloClusterContainer * cluster_collection_ptr) const = 0;
136 
137  virtual StatusCode update_plots(const EventContext & ctx,
138  const CaloRecGPU::ConstantDataHolder & constant_data,
139  const xAOD::CaloClusterContainer * cluster_collection_ptr,
140  const CaloClusterCollectionProcessor * tool) const = 0;
141 
142  virtual StatusCode update_plots(const EventContext & ctx,
143  const CaloRecGPU::ConstantDataHolder & constant_data,
144  const xAOD::CaloClusterContainer * cluster_collection_ptr,
145  const CaloRecGPU::EventDataHolder & event_data,
146  const ICaloClusterGPUInputTransformer * tool) const = 0;
147 
148  virtual StatusCode update_plots(const EventContext & ctx,
149  const CaloRecGPU::ConstantDataHolder & constant_data,
150  const xAOD::CaloClusterContainer * cluster_collection_ptr,
151  const CaloRecGPU::EventDataHolder & event_data,
152  const CaloClusterGPUProcessor * tool) const = 0;
153 
154  virtual StatusCode update_plots(const EventContext & ctx,
155  const CaloRecGPU::ConstantDataHolder & constant_data,
156  const xAOD::CaloClusterContainer * cluster_collection_ptr,
157  const CaloRecGPU::EventDataHolder & event_data,
158  const ICaloClusterGPUOutputTransformer * tool) const = 0;
159 
160  virtual StatusCode finalize_plots() const = 0;
161 
163 };
164 
165 #endif //CALORECGPU_CALOCLUSTERGPUTRANSFORMERS_H
ICaloClusterGPUInputTransformer::DeclareInterfaceID
DeclareInterfaceID(ICaloClusterGPUInputTransformer, 1, 0)
ICaloClusterGPUPlotter::update_plots
virtual StatusCode update_plots(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr, const CaloRecGPU::EventDataHolder &event_data, const CaloClusterGPUProcessor *tool) const =0
ICaloClusterGPUPlotter::update_plots
virtual StatusCode update_plots(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr, const CaloRecGPU::EventDataHolder &event_data, const ICaloClusterGPUInputTransformer *tool) const =0
ICaloClusterGPUConstantTransformer::convert
virtual StatusCode convert(const EventContext &, CaloRecGPU::ConstantDataHolder &constant_data, const bool override_keep_CPU_info) const
Fill the @CaloRecGPU::ConstantDataHolder with the relevant information at the first event.
Definition: CaloClusterGPUTransformers.h:45
CaloClusterGPUProcessor
Base class for GPU-accelerated cluster processing tools to be called from CaloGPUHybridClusterProcess...
Definition: CaloClusterGPUProcessor.h:27
ICaloClusterGPUPlotter::update_plots_start
virtual StatusCode update_plots_start(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr) const =0
CaloClusterCollectionProcessor
Definition: CaloClusterCollectionProcessor.h:32
ICaloClusterGPUPlotter::DeclareInterfaceID
DeclareInterfaceID(ICaloClusterGPUPlotter, 1, 0)
CaloRecGPU::EventDataHolder
Definition: DataHolders.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
ICaloClusterGPUInputTransformer
Base class for tools that convert event information from the Athena structures to the GPU-friendly fo...
Definition: CaloClusterGPUTransformers.h:66
ICaloClusterGPUOutputTransformer::convert
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const =0
Fill the @xAODCaloClusterContainer with the relevant information.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ICaloClusterGPUPlotter::update_plots
virtual StatusCode update_plots(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr, const CaloRecGPU::EventDataHolder &event_data, const ICaloClusterGPUOutputTransformer *tool) const =0
ICaloClusterGPUInputTransformer::convert
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection, CaloRecGPU::EventDataHolder &event_data) const =0
Fill the CaloRecGPU::EventDataHolder with the relevant information.
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
ICaloClusterGPUOutputTransformer::DeclareInterfaceID
DeclareInterfaceID(ICaloClusterGPUOutputTransformer, 1, 0)
ICaloClusterGPUOutputTransformer
Base class for tools that convert event information from the GPU-friendly format used in CaloGPUHybri...
Definition: CaloClusterGPUTransformers.h:94
ICaloClusterGPUPlotter
Base class for tools that can be used to plot events within CaloGPUHybridClusterProcessor.
Definition: CaloClusterGPUTransformers.h:127
ICaloClusterGPUPlotter::update_plots_end
virtual StatusCode update_plots_end(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr) const =0
CaloClusterContainer.h
CaloRecGPU::ConstantDataHolder
Definition: DataHolders.h:19
ICaloClusterGPUConstantTransformer::convert
virtual StatusCode convert(CaloRecGPU::ConstantDataHolder &constant_data, const bool override_keep_CPU_info) const =0
Fill the @ConstantDataHolder with the relevant information.
ICaloClusterGPUConstantTransformer::DeclareInterfaceID
DeclareInterfaceID(ICaloClusterGPUConstantTransformer, 1, 0)
ICaloClusterGPUPlotter::update_plots
virtual StatusCode update_plots(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection_ptr, const CaloClusterCollectionProcessor *tool) const =0
DataHolders.h
ICaloClusterGPUConstantTransformer
Base class for tools that convert constant information to the GPU-friendly format used in CaloGPUHybr...
Definition: CaloClusterGPUTransformers.h:27
ICaloClusterGPUPlotter::finalize_plots
virtual StatusCode finalize_plots() const =0