ATLAS Offline Software
Loading...
Searching...
No Matches
LayerMaterialProvider.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 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 LayerMaterialProvider(const std::string&,const std::string&,const IInterface*);
44
47
48 virtual StatusCode initialize() override;
49
51 virtual StatusCode process(TrackingGeometry& tgeo) const override;
52
55 virtual StatusCode process(TrackingVolume& tvol,
56 size_t level = 0) const override;
57
58 StatusCode process(TrackingVolume& lay,
59 const LayerMaterialMap& layerMaterialMap,
60 size_t level) const;
61
63 virtual StatusCode process(Layer& lay, size_t level = 0) const override;
64
65 StatusCode process(Layer& lay,
66 const LayerMaterialMap& layerMaterialMap,
67 size_t level) const;
68
70 virtual StatusCode process(Surface& surf, size_t level = 0) const override;
71
72 private:
73
74 void dumpMaterialMap (const LayerMaterialMap& layerMaterialMap) const;
75
77 { this, "LayerMaterialMapKey", "/GLOBAL/TrackingGeo/LayerMaterialV2",
78 "COOL folder for material map" };
79
81 };
82
83} // end of namespace
84
85#endif // TRKDETDESCRTOOLS_LAYERMATERIALPROVIDER_H
86
Define macros for attributes used to control the static checker.
This class extends the DataVector<Trk::LayerMaterialProperties> by an elementTable;.
void dumpMaterialMap(const LayerMaterialMap &layerMaterialMap) const
virtual StatusCode initialize() override
SG::ReadCondHandleKey< LayerMaterialMap > m_layerMaterialMapKey
virtual ~LayerMaterialProvider()
Destructor.
LayerMaterialProvider(const std::string &, const std::string &, const IInterface *)
Constructor.
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.