ATLAS Offline Software
Loading...
Searching...
No Matches
LayerMaterialProvider.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6// LayerMaterialProvider.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRTOOLS_LAYERMATERIALPROVIDER_H
10#define TRKDETDESCRTOOLS_LAYERMATERIALPROVIDER_H
11
12// Trk
15// Gaudi & Athena
18
19
21namespace Trk {
22
23 class TrackingGeometry;
24 class TrackingVolume;
25 class Layer;
26 class Surface;
27 class LayerMaterialMap;
28
29
37
38 class LayerMaterialProvider //process methods call non-safe code
39 : public extends<AthAlgTool, IGeometryProcessor> {
40
41 public:
43 using base_class::base_class;
44
45 virtual StatusCode initialize() override;
46
48 virtual StatusCode process(TrackingGeometry& tgeo) const override;
49
52 virtual StatusCode process(TrackingVolume& tvol,
53 size_t level = 0) const override;
54
55 StatusCode process(TrackingVolume& lay,
56 const LayerMaterialMap& layerMaterialMap,
57 size_t level) const;
58
60 virtual StatusCode process(Layer& lay, size_t level = 0) const override;
61
62 StatusCode process(Layer& lay,
63 const LayerMaterialMap& layerMaterialMap,
64 size_t level) const;
65
67 virtual StatusCode process(Surface& surf, size_t level = 0) const override;
68
69 private:
70
71 void dumpMaterialMap (const LayerMaterialMap& layerMaterialMap) const;
72
74 { this, "LayerMaterialMapKey", "/GLOBAL/TrackingGeo/LayerMaterialV2",
75 "COOL folder for material map" };
76
77 Gaudi::Property<std::string> m_layerMaterialMapName
78 {this, "LayerMaterialMapName", "",
79 "If LayerMaterialMapKey is not set, then fall back to retrieving this from the detector store."};
80 };
81
82} // end of namespace
83
84#endif // TRKDETDESCRTOOLS_LAYERMATERIALPROVIDER_H
85
Define macros for attributes used to control the static checker.
This class extends the DataVector<Trk::LayerMaterialProperties> by an elementTable;.
AlgTool that retrieves the LayerMaterial from COOL and loads it onto the geometry.
void dumpMaterialMap(const LayerMaterialMap &layerMaterialMap) const
virtual StatusCode initialize() override
SG::ReadCondHandleKey< LayerMaterialMap > m_layerMaterialMapKey
Gaudi::Property< std::string > m_layerMaterialMapName
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Abstract Base Class for tracking surfaces.
Definition Surface.h:79
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
const std::string process
Ensure that the ATLAS eigen extensions are properly loaded.