ATLAS Offline Software
Loading...
Searching...
No Matches
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
8#include "GaudiKernel/ToolHandle.h"
10
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
32namespace ActsTrk {
33
59 : public AthService
60{
61public:
62
64
66 virtual StatusCode initialize() override;
67
68private:
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
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
Service providing device detector description from JSON files.
ToolHandle< AthDevice::ICopyTool > m_copy
The copy tool used for copying data to device.
virtual StatusCode initialize() override
Function initializing and executing the file loading.
StatusCode loadIdMaps(const std::unique_ptr< traccc::host_detector > &hostDetector)
Helper function to load Athena<->detray ID maps from csv.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...