ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUDataPreparation
src
IDeviceClusterizationAlgProviderTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSTRK_IDEVICECLUSTERIZATIONALGPROVIDERTOOL_H
6
#define ACTSTRK_IDEVICECLUSTERIZATIONALGPROVIDERTOOL_H
7
8
// Framework include(s).
9
#include "GaudiKernel/EventContext.h"
10
#include "GaudiKernel/IAlgTool.h"
11
12
// ActsGPU include(s).
13
#include "
ActsGPUInterfaces/DeviceAlgorithmT.h
"
14
15
// TracCC include(s).
16
#include <traccc/clusterization/device/clusterization_algorithm.hpp>
17
#include <traccc/edm/measurement_collection.hpp>
18
#include <traccc/edm/silicon_cell_collection.hpp>
19
#include <traccc/utils/algorithm.hpp>
20
21
namespace
ActsTrk
{
22
25
class
IDeviceClusterizationAlgProviderTool
:
virtual
public
IAlgTool {
26
public
:
28
DeclareInterfaceID
(
IDeviceClusterizationAlgProviderTool
, 1, 0);
29
31
virtual
DeviceAlgorithmT<traccc::device::clusterization_algorithm>
32
getClusterizationAlgorithm
(
const
EventContext& ctx)
const
= 0;
33
35
using
sorting_algorithm_type
=
36
traccc::algorithm<traccc::edm::measurement_collection::buffer(
37
const
traccc::edm::measurement_collection::const_view&)>;
38
40
virtual
DeviceAlgorithmT<sorting_algorithm_type>
getSortingAlgorithm
(
41
const
EventContext& ctx)
const
= 0;
42
43
};
// class IDeviceClusterizationAlgProviderTool
44
45
}
// namespace ActsTrk
46
47
#endif
// ACTSTRK_IDEVICECLUSTERIZATIONALGPROVIDERTOOL_H
DeviceAlgorithmT.h
ActsTrk::DeviceAlgorithmT
Convenience type for the "algorithm provider" tools.
Definition
DeviceAlgorithmT.h:15
ActsTrk::IDeviceClusterizationAlgProviderTool
Interface for tools providing an Acts device/GPU clusterization and measurement sorting algorithm.
Definition
IDeviceClusterizationAlgProviderTool.h:25
ActsTrk::IDeviceClusterizationAlgProviderTool::DeclareInterfaceID
DeclareInterfaceID(IDeviceClusterizationAlgProviderTool, 1, 0)
Declare the interface ID for this tool.
ActsTrk::IDeviceClusterizationAlgProviderTool::getSortingAlgorithm
virtual DeviceAlgorithmT< sorting_algorithm_type > getSortingAlgorithm(const EventContext &ctx) const =0
Get the device specific measurement sorting algorithm.
ActsTrk::IDeviceClusterizationAlgProviderTool::sorting_algorithm_type
traccc::algorithm< traccc::edm::measurement_collection::buffer( const traccc::edm::measurement_collection::const_view &)> sorting_algorithm_type
Generic type for the measurement sorting algorithms.
Definition
IDeviceClusterizationAlgProviderTool.h:35
ActsTrk::IDeviceClusterizationAlgProviderTool::getClusterizationAlgorithm
virtual DeviceAlgorithmT< traccc::device::clusterization_algorithm > getClusterizationAlgorithm(const EventContext &ctx) const =0
Get the device specific clusterization algorithm.
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0