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
11
#include "
StoreGate/ReadCondHandleKey.h
"
12
#include "
AthDeviceInterfaces/IMemoryResourcesTool.h
"
13
#include "
AthDeviceInterfaces/ICopyTool.h
"
14
#include "
InDetIdentifier/PixelID.h
"
15
#include "
InDetIdentifier/SCT_ID.h
"
16
#include "
InDetReadoutGeometry/SiDetectorElementCollection.h
"
17
#include "
PixelReadoutGeometry/PixelDetectorManager.h
"
18
#include "
SCT_ReadoutGeometry/SCT_DetectorManager.h
"
19
#include "
ActsGPUEvent/TracccDetectorGeometryDescription.h
"
20
#include "
ActsGPUEvent/GeometryIdMapping.h
"
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
#include <memory>
29
#include <string>
30
#include <unordered_map>
31
32
namespace
ActsTrk
{
33
58
class
JSONDeviceDetectorDescriptionProviderSvc
59
:
public
AthService
60
{
61
public
:
62
63
using
AthService::AthService
;
64
66
virtual
StatusCode
initialize
()
override
;
67
68
private
:
69
70
ServiceHandle<StoreGateSvc>
m_detStore
{
this
,
"DetectorStore"
,
"StoreGateSvc/DetectorStore"
};
72
ToolHandle<AthDevice::IMemoryResourcesTool>
m_MRs
{
73
this
,
"MemoryResourcesTool"
,
""
,
74
"The memory resources tool to use for allocating memory on the device"
};
75
77
ToolHandle<AthDevice::ICopyTool>
m_copy
{
78
this
,
"CopyProviderTool"
,
""
,
"Vecmem copy provider tool"
};
79
82
Gaudi::Property<std::string>
m_geometryFile
{
83
this
,
"GeometryFile"
,
""
,
84
"Detray geometry JSON file"
};
85
Gaudi::Property<std::string>
m_materialFile
{
86
this
,
"MaterialFile"
,
""
,
87
"Detray material JSON file"
};
88
Gaudi::Property<std::string>
m_surfaceGridFile
{
89
this
,
"SurfaceGridFile"
,
""
,
90
"Detray surface grid JSON file"
};
91
Gaudi::Property<std::string>
m_digitizationFile
{
92
this
,
"DigitizationFile"
,
""
,
93
"Traccc digitization config JSON file"
};
94
Gaudi::Property<std::string>
m_conditionsFile
{
95
this
,
"ConditionsFile"
,
""
,
96
"Traccc conditions config JSON file"
};
97
Gaudi::Property<std::string>
m_mapFile
{
98
this
,
"MapFile"
,
""
,
99
"Path to the athena<->detray ID map CSV file"
};
100
101
104
Gaudi::Property<std::string>
m_deviceDesignObjectName
{
105
this
,
"DeviceDigitizationObjectName"
,
""
,
106
"Traccc device digitization object"
};
107
Gaudi::Property<std::string>
m_deviceCondObjectName
{
108
this
,
"DeviceConditionsObjectName"
,
""
,
109
"Traccc device conditions object"
};
110
Gaudi::Property<std::string>
m_hostDesignObjectName
{
111
this
,
"HostDigitizationObjectName"
,
""
,
112
"Traccc host digitization object"
};
113
Gaudi::Property<std::string>
m_hostCondObjectName
{
114
this
,
"HostConditionsObjectName"
,
""
,
115
"Traccc host conditions object"
};
116
Gaudi::Property<std::string>
m_deviceDetectorName
{
117
this
,
"DeviceDetectorName"
,
""
,
118
"Detray device detector object"
};
119
Gaudi::Property<std::string>
m_hostDetectorName
{
120
this
,
"HostDetectorName"
,
""
,
121
"Detray host detector object"
};
122
Gaudi::Property<std::string>
m_geoIdMappingObjectName
{
123
this
,
"GeoIdMappingObjectName"
,
""
,
124
"StoreGate name for the detray/acts/athena geo id mapping"
};
125
126
128
StatusCode
loadIdMaps
(
const
std::unique_ptr<traccc::host_detector>& hostDetector);
129
std::unique_ptr<ActsTrk::GeometryIdMapping>
m_idMapping
;
130
131
};
132
133
}
// namespace ActsTrk
134
135
#endif
// ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
AthService.h
GeometryIdMapping.h
ICopyTool.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
TracccDetectorGeometryDescription.h
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc
Service providing device detector description from JSON files.
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:60
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_materialFile
Gaudi::Property< std::string > m_materialFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:85
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostDesignObjectName
Gaudi::Property< std::string > m_hostDesignObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:110
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostCondObjectName
Gaudi::Property< std::string > m_hostCondObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:113
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceDesignObjectName
Gaudi::Property< std::string > m_deviceDesignObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:104
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_hostDetectorName
Gaudi::Property< std::string > m_hostDetectorName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:119
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceDetectorName
Gaudi::Property< std::string > m_deviceDetectorName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:116
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:70
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
The copy tool used for copying data to device.
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:77
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_idMapping
std::unique_ptr< ActsTrk::GeometryIdMapping > m_idMapping
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:129
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_geometryFile
Gaudi::Property< std::string > m_geometryFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:82
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::initialize
virtual StatusCode initialize() override
Function initializing and executing the file loading.
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:29
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_geoIdMappingObjectName
Gaudi::Property< std::string > m_geoIdMappingObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:122
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_conditionsFile
Gaudi::Property< std::string > m_conditionsFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:94
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_digitizationFile
Gaudi::Property< std::string > m_digitizationFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:91
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:72
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::loadIdMaps
StatusCode loadIdMaps(const std::unique_ptr< traccc::host_detector > &hostDetector)
Helper function to load Athena<->detray ID maps from csv.
Definition
JSONDeviceDetectorDescriptionProviderSvc.cxx:124
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_mapFile
Gaudi::Property< std::string > m_mapFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:97
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_surfaceGridFile
Gaudi::Property< std::string > m_surfaceGridFile
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:88
ActsTrk::JSONDeviceDetectorDescriptionProviderSvc::m_deviceCondObjectName
Gaudi::Property< std::string > m_deviceCondObjectName
Definition
JSONDeviceDetectorDescriptionProviderSvc.h:107
AthService::AthService
AthService()
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