ATLAS Offline Software
ILayerMaterialAnalyser.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ILayerMaterialAnalysier.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRINTERFACES_ILAYERMATERIALANALYSER_H
10 #define TRKDETDESCRINTERFACES_ILAYERMATERIALANALYSER_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // STL
15 #include <vector>
16 #include <cstring>
17 
18 namespace Trk {
19 
20  class Layer;
21  class LayerMaterialProperties;
22  class LayerMaterialRecord;
23  class MaterialProperties;
24 
25  typedef std::vector< std::vector < const MaterialProperties* > > MaterialPropertiesMatrix;
26 
33  class ILayerMaterialAnalyser : virtual public IAlgTool {
34 
35  public:
38 
41 
43  virtual StatusCode analyseLayerMaterial(const Layer& lay) const = 0;
44 
46  virtual StatusCode analyseLayerMaterial(const Layer& lay, const LayerMaterialProperties& lmp) const = 0;
47 
49  virtual StatusCode analyseLayerMaterial(const Layer& lay, const MaterialPropertiesMatrix& lmr) const = 0;
50 
52  virtual StatusCode analyseLayerMaterial(const Layer& lay, const LayerMaterialRecord& lmr) const = 0;
53 
54  };
55 
56 } // end of namespace
57 
58 #endif // TRKDETDESCRINTERFACES_ILAYERMATERIALANALYSER_H
59 
60 
Trk::ILayerMaterialAnalyser
Definition: ILayerMaterialAnalyser.h:33
Trk::ILayerMaterialAnalyser::analyseLayerMaterial
virtual StatusCode analyseLayerMaterial(const Layer &lay, const LayerMaterialRecord &lmr) const =0
process the layer material record - before material creation
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::ILayerMaterialAnalyser::analyseLayerMaterial
virtual StatusCode analyseLayerMaterial(const Layer &lay, const MaterialPropertiesMatrix &lmr) const =0
process the layer material record - before material creation
Trk::ILayerMaterialAnalyser::~ILayerMaterialAnalyser
virtual ~ILayerMaterialAnalyser()
Virtual destructor.
Definition: ILayerMaterialAnalyser.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::LayerMaterialProperties
Definition: LayerMaterialProperties.h:62
Trk::ILayerMaterialAnalyser::analyseLayerMaterial
virtual StatusCode analyseLayerMaterial(const Layer &lay, const LayerMaterialProperties &lmp) const =0
process the layer material - after material creation and beofre loading
Trk::LayerMaterialRecord
Definition: LayerMaterialRecord.h:42
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::MaterialPropertiesMatrix
std::vector< std::vector< const MaterialProperties * > > MaterialPropertiesMatrix
Definition: ILayerMaterialAnalyser.h:23
Trk::ILayerMaterialAnalyser::DeclareInterfaceID
DeclareInterfaceID(ILayerMaterialAnalyser, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk::ILayerMaterialAnalyser::analyseLayerMaterial
virtual StatusCode analyseLayerMaterial(const Layer &lay) const =0
process the layer - after material creation and loading
Trk::Layer
Definition: Layer.h:73