ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUGeometry
src
JSONDeviceDetectorDescriptionProviderSvc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
5
#define ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
6
7
#include "
AthenaBaseComps/AthService.h
"
8
#include "GaudiKernel/ToolHandle.h"
9
#include "
PathResolver/PathResolver.h
"
10
#include "
ActsGPUInterfaces/IDeviceDetectorDescriptionProviderSvc.h
"
11
12
#include "
StoreGate/ReadCondHandleKey.h
"
13
#include "
AthDeviceInterfaces/IMemoryResourcesTool.h
"
14
#include "
AthDeviceInterfaces/ICopyTool.h
"
15
#include "
InDetIdentifier/PixelID.h
"
16
#include "
InDetIdentifier/SCT_ID.h
"
17
#include "
InDetReadoutGeometry/SiDetectorElementCollection.h
"
18
#include "
PixelReadoutGeometry/PixelDetectorManager.h
"
19
#include "
SCT_ReadoutGeometry/SCT_DetectorManager.h
"
20
21
#include "traccc/geometry/detector_design_description.hpp"
22
#include "traccc/geometry/detector_conditions_description.hpp"
23
24
#include "detray/core/detail/container_views.hpp"
25
#include "detray/core/detector.hpp"
26
#include "detray/detectors/itk_metadata.hpp"
27
28
29
#include "vecmem/utils/cuda/copy.hpp"
30
31
#include <memory>
32
#include <string>
33
#include <unordered_map>
34
35
namespace
ActsTrk
{
36
61
class
JSONDeviceDetectorDescriptionProviderSvc
62
:
public
extends<AthService, ActsTrk::IDeviceDetectorDescriptionProviderSvc>
63
{
64
public
:
65
66
using
extends::extends;
67
69
virtual
StatusCode
initialize
()
override
;
70
73
virtual
const
std::unordered_map<uint64_t, Identifier>&
74
detrayToAthenaMap
()
const override
;
75
virtual
const
std::unordered_map<Identifier, uint64_t>&
76
athenaToDetrayMap
()
const override
;
78
79
private
:
80
81
ServiceHandle<StoreGateSvc>
m_detStore
{
this
,
"DetectorStore"
,
"StoreGateSvc/DetectorStore"
};
83
ToolHandle<AthDevice::IMemoryResourcesTool>
m_MRs
{
84
this
,
"MemoryResourcesTool"
,
""
,
85
"The memory resources tool to use for allocating memory on the device"
};
86
88
ToolHandle<AthDevice::ICopyTool>
m_copy
{
89
this
,
"CopyProviderTool"
,
""
,
"Vecmem copy provider tool"
};
90
93
Gaudi::Property<std::string>
m_geometryFile
{
94
this
,
"GeometryFile"
,
""
,
95
"Detray geometry JSON file"
};
96
Gaudi::Property<std::string>
m_digitizationFile
{
97
this
,
"DigitizationFile"
,
""
,
98
"Traccc digitization config JSON file"
};
99
Gaudi::Property<std::string>
m_conditionsFile
{
100
this
,
"ConditionsFile"
,
""
,
101
"Traccc conditions config JSON file"
};
102
Gaudi::Property<std::string>
m_mapFile
{
103
this
,
"MapFile"
,
""
,
104
"Path to the athena<->detray ID map CSV file"
};
105
106
109
Gaudi::Property<std::string>
m_deviceDesignObjectName
{
110
this
,
"DeviceDigitizationObjectName"
,
""
,
111
"Traccc device digitization object"
};
112
Gaudi::Property<std::string>
m_deviceCondObjectName
{
113
this
,
"DeviceConditionsObjectName"
,
""
,
114
"Traccc device conditions object"
};
115
Gaudi::Property<std::string>
m_hostDesignObjectName
{
116
this
,
"HostDigitizationObjectName"
,
""
,
117
"Traccc host digitization object"
};
118
Gaudi::Property<std::string>
m_hostCondObjectName
{
119
this
,
"HostConditionsObjectName"
,
""
,
120
"Traccc host conditions object"
};
121
Gaudi::Property<std::string>
m_deviceDetectorName
{
122
this
,
"DeviceDetectorName"
,
""
,
123
"Detray device detector object"
};
124
Gaudi::Property<std::string>
m_hostDetectorName
{
125
this
,
"HostDetectorName"
,
""
,
126
"Detray host detector object"
};
127
128
130
StatusCode
loadIdMaps
();
131
132
std::unordered_map<uint64_t, Identifier>
m_detrayToAthena
;
133
std::unordered_map<Identifier, uint64_t>
m_athenaToDetray
;
134
135
};
136
137
}
// namespace ActsTrk
138
139
#endif
// ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
AthService.h
ICopyTool.h
IDeviceDetectorDescriptionProviderSvc.h
IMemoryResourcesTool.h
PathResolver.h
PixelDetectorManager.h
PixelID.h
This is an Identifier helper class for the Pixel subdetector.
ReadCondHandleKey.h
SCT_DetectorManager.h
SCT_ID.h
This is an Identifier helper class for the SCT subdetector.
SiDetectorElementCollection.h
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc
Service providing device detector description from JSON files.
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:63
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_athenaToDetray
std::unordered_map< Identifier, uint64_t > m_athenaToDetray
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:133
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostDesignObjectName
Gaudi::Property< std::string > m_hostDesignObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:115
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostCondObjectName
Gaudi::Property< std::string > m_hostCondObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:118
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceDesignObjectName
Gaudi::Property< std::string > m_deviceDesignObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:109
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostDetectorName
Gaudi::Property< std::string > m_hostDetectorName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:124
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceDetectorName
Gaudi::Property< std::string > m_deviceDetectorName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:121
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:81
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
The copy tool used for copying data to device.
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:88
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::detrayToAthenaMap
virtual const std::unordered_map< uint64_t, Identifier > & detrayToAthenaMap() const override
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:118
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_geometryFile
Gaudi::Property< std::string > m_geometryFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:93
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::initialize
virtual StatusCode initialize() override
Function initializing and executing the file loading.
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:26
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_conditionsFile
Gaudi::Property< std::string > m_conditionsFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:99
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::athenaToDetrayMap
virtual const std::unordered_map< Identifier, uint64_t > & athenaToDetrayMap() const override
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:122
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_digitizationFile
Gaudi::Property< std::string > m_digitizationFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:96
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:83
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::loadIdMaps
StatusCode loadIdMaps()
Helper function to load Athena<->detray ID maps from csv.
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:126
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_detrayToAthena
std::unordered_map< uint64_t, Identifier > m_detrayToAthena
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:132
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_mapFile
Gaudi::Property< std::string > m_mapFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:102
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceCondObjectName
Gaudi::Property< std::string > m_deviceCondObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:112
ServiceHandle
Definition
ClusterMakerTool.h:36
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