ATLAS Offline Software
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 
21 namespace Trk {
22 
23  class TrackingGeometry;
24  class TrackingVolume;
25  class Layer;
26  class Surface;
27  class LayerMaterialMap;
28 
29 
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 
59  const LayerMaterialMap& layerMaterialMap,
60  size_t level) const;
61 
63  virtual StatusCode process(Layer& lay, size_t level = 0) const override;
64 
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 
Trk::LayerMaterialProvider::~LayerMaterialProvider
virtual ~LayerMaterialProvider()
Destructor.
Trk::LayerMaterialProvider::initialize
virtual StatusCode initialize() override
Definition: LayerMaterialProvider.cxx:36
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
Trk::LayerMaterialMap
Definition: LayerMaterialMap.h:32
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
Trk::LayerMaterialProvider::m_layerMaterialMapName
std::string m_layerMaterialMapName
Definition: LayerMaterialProvider.h:80
Trk::LayerMaterialProvider::dumpMaterialMap
void dumpMaterialMap(const LayerMaterialMap &layerMaterialMap) const
Definition: LayerMaterialProvider.cxx:239
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::LayerMaterialProvider::m_layerMaterialMapKey
SG::ReadCondHandleKey< LayerMaterialMap > m_layerMaterialMapKey
Definition: LayerMaterialProvider.h:77
ReadCondHandleKey.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
IGeometryProcessor.h
Trk::LayerMaterialProvider::process
virtual StatusCode process(TrackingGeometry &tgeo) const override
Processor Action to work on TrackingGeometry& tgeo.
Definition: LayerMaterialProvider.cxx:44
Trk::LayerMaterialProvider::LayerMaterialProvider
LayerMaterialProvider(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: LayerMaterialProvider.cxx:24
LayerMaterialMap.h
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
Trk::LayerMaterialProvider
Definition: LayerMaterialProvider.h:39
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::Layer
Definition: Layer.h:73