4#ifndef ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
5#define ACTSGPUDATAPREPARATION_JSONDEVICEDETECTORDESCRIPTIONPROVIDERSVC_H
8#include "GaudiKernel/ToolHandle.h"
21#include "traccc/geometry/detector_design_description.hpp"
22#include "traccc/geometry/detector_conditions_description.hpp"
24#include "detray/core/detail/container_views.hpp"
25#include "detray/core/detector.hpp"
26#include "detray/detectors/itk_metadata.hpp"
29#include "vecmem/utils/cuda/copy.hpp"
33#include <unordered_map>
62 :
public extends<AthService, ActsTrk::IDeviceDetectorDescriptionProviderSvc>
66 using extends::extends;
73 virtual const std::unordered_map<uint64_t, Identifier>&
75 virtual const std::unordered_map<Identifier, uint64_t>&
83 ToolHandle<AthDevice::IMemoryResourcesTool>
m_MRs{
84 this,
"MemoryResourcesTool",
"",
85 "The memory resources tool to use for allocating memory on the device"};
88 ToolHandle<AthDevice::ICopyTool>
m_copy{
89 this,
"CopyProviderTool",
"",
"Vecmem copy provider tool"};
94 this,
"GeometryFile",
"",
95 "Detray geometry JSON file"};
97 this,
"DigitizationFile",
"",
98 "Traccc digitization config JSON file"};
100 this,
"ConditionsFile",
"",
101 "Traccc conditions config JSON file"};
104 "Path to the athena<->detray ID map CSV file"};
110 this,
"DeviceDigitizationObjectName",
"",
111 "Traccc device digitization object"};
113 this,
"DeviceConditionsObjectName",
"",
114 "Traccc device conditions object"};
116 this,
"HostDigitizationObjectName",
"",
117 "Traccc host digitization object"};
119 this,
"HostConditionsObjectName",
"",
120 "Traccc host conditions object"};
122 this,
"DeviceDetectorName",
"",
123 "Detray device detector object"};
125 this,
"HostDetectorName",
"",
126 "Detray host detector object"};
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.
std::unordered_map< Identifier, uint64_t > m_athenaToDetray
Gaudi::Property< std::string > m_hostDesignObjectName
Gaudi::Property< std::string > m_hostCondObjectName
Gaudi::Property< std::string > m_deviceDesignObjectName
Gaudi::Property< std::string > m_hostDetectorName
Gaudi::Property< std::string > m_deviceDetectorName
ServiceHandle< StoreGateSvc > m_detStore
ToolHandle< AthDevice::ICopyTool > m_copy
The copy tool used for copying data to device.
virtual const std::unordered_map< uint64_t, Identifier > & detrayToAthenaMap() const override
Gaudi::Property< std::string > m_geometryFile
virtual StatusCode initialize() override
Function initializing and executing the file loading.
Gaudi::Property< std::string > m_conditionsFile
virtual const std::unordered_map< Identifier, uint64_t > & athenaToDetrayMap() const override
Gaudi::Property< std::string > m_digitizationFile
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
StatusCode loadIdMaps()
Helper function to load Athena<->detray ID maps from csv.
std::unordered_map< uint64_t, Identifier > m_detrayToAthena
Gaudi::Property< std::string > m_mapFile
Gaudi::Property< std::string > m_deviceCondObjectName
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...