ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUMagField
python
ActsGPUMagFieldConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
from
AthDeviceComps.DeviceConfigFlags
import
DeviceBackend
6
7
# ============================================================
8
# Service configurations
9
# ============================================================
10
11
def
CUDAMagFieldProviderToolCfg
(flags,
12
name="CUDAMagFieldProviderTool",
13
**kwargs) -> ComponentAccumulator:
14
acc = ComponentAccumulator()
15
16
kwargs.setdefault(
"MagFieldStorage"
,
"global_memory"
)
17
acc.setPrivateTools(
18
CompFactory.ActsTrk.CUDAMagFieldProviderTool(name, **kwargs))
19
return
acc
20
21
def
HIPMagFieldProviderToolCfg
(flags,
22
name="HIPMagFieldProviderTool",
23
**kwargs) -> ComponentAccumulator:
24
acc = ComponentAccumulator()
25
26
kwargs.setdefault(
"MagFieldStorage"
,
"global_memory"
)
27
acc.setPrivateTools(
28
CompFactory.ActsTrk.HIPMagFieldProviderTool(name, **kwargs))
29
return
acc
30
31
def
DeviceMagFieldProviderToolCfg
(flags,
32
**kwargs) -> ComponentAccumulator:
33
acc = ComponentAccumulator()
34
35
if
flags.Device.Backend
is
DeviceBackend.CUDA:
36
acc.setPrivateTools(acc.popToolsAndMerge(
CUDAMagFieldProviderToolCfg
(flags)))
37
38
elif
((flags.Device.Backend
is
DeviceBackend.HIPAMD)
or
(flags.Device.Backend
is
DeviceBackend.HIPNVIDIA)):
39
acc.setPrivateTools(acc.popToolsAndMerge(
HIPMagFieldProviderToolCfg
(flags)))
40
else
:
41
raise
ValueError(f
"Unsupported device backend: {flags.Acts.DeviceBackend}"
)
42
43
return
acc
44
45
def
JSONDeviceMagFieldProviderSvcCfg
(flags, **kwargs) -> ComponentAccumulator:
46
47
acc = ComponentAccumulator()
48
49
kwargs.setdefault(
"MagFieldFile"
,
"dev/ACTS/detray-itk/ITk_bfield.cvf"
)
50
kwargs.setdefault(
"DeviceMagFieldObjectName"
,
"TracccDeviceMagField"
)
51
kwargs.setdefault(
"HostMagFieldObjectName"
,
"TracccHostMagField"
)
52
53
kwargs.setdefault(
"DeviceMagFieldProviderTool"
, acc.popToolsAndMerge(
DeviceMagFieldProviderToolCfg
(flags)))
54
55
svc = CompFactory.ActsTrk.JSONDeviceMagFieldProviderSvc(**kwargs)
56
acc.addService(svc, primary=
True
, create=
True
)
57
return
acc
58
59
60
ActsGPUMagFieldConfig.HIPMagFieldProviderToolCfg
ComponentAccumulator HIPMagFieldProviderToolCfg(flags, name="HIPMagFieldProviderTool", **kwargs)
Definition
ActsGPUMagFieldConfig.py:23
ActsGPUMagFieldConfig.JSONDeviceMagFieldProviderSvcCfg
ComponentAccumulator JSONDeviceMagFieldProviderSvcCfg(flags, **kwargs)
Definition
ActsGPUMagFieldConfig.py:45
ActsGPUMagFieldConfig.DeviceMagFieldProviderToolCfg
ComponentAccumulator DeviceMagFieldProviderToolCfg(flags, **kwargs)
Definition
ActsGPUMagFieldConfig.py:32
ActsGPUMagFieldConfig.CUDAMagFieldProviderToolCfg
ComponentAccumulator CUDAMagFieldProviderToolCfg(flags, name="CUDAMagFieldProviderTool", **kwargs)
Definition
ActsGPUMagFieldConfig.py:13
Generated on
for ATLAS Offline Software by
1.17.0