ATLAS Offline Software
ILayerMaterialCreator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ILayerMaterialCreator.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRINTERFACES_ILAYERMATERIALCREATOR_H
10 #define TRKDETDESCRINTERFACES_ILAYERMATERIALCREATOR_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // STL
15 #include <vector>
16 #include <cstring>
17 
18 #include "CxxUtils/CachedValue.h"
19 
20 namespace Trk {
21 
22  class LayerMaterialProperties;
23  class LayerMaterialRecord;
24 
32  class ILayerMaterialCreator : virtual public IAlgTool {
33 
34  public:
36 
39 
42 
45 
47  const std::string& layerMaterialName() const {
50  }
51  return *m_layerMaterialFullName.ptr();
52  }
53 
54  protected:
55  std::string m_layerMaterialName;
57 
58  private:
60  };
61 
62 
63 } // end of namespace
64 
65 
66 #endif // TRKDETDESCRINTERFACES_ILAYERMATERIALCREATOR_H
67 
68 
Trk::ILayerMaterialCreator::layerMaterialName
const std::string & layerMaterialName() const
the name of the created material map
Definition: ILayerMaterialCreator.h:47
CxxUtils::CachedValue::ptr
const T * ptr() const
Return a pointer to the cached value.
Trk::ILayerMaterialCreator::~ILayerMaterialCreator
virtual ~ILayerMaterialCreator()
Virtual destructor.
Definition: ILayerMaterialCreator.h:38
CxxUtils::CachedValue::isValid
bool isValid() const
Test to see if the value is valid.
Trk::ILayerMaterialCreator::m_layerMaterialDirectory
std::string m_layerMaterialDirectory
Definition: ILayerMaterialCreator.h:56
Trk::ILayerMaterialCreator
Definition: ILayerMaterialCreator.h:32
Trk::ILayerMaterialCreator::m_layerMaterialFullName
CxxUtils::CachedValue< std::string > m_layerMaterialFullName
Definition: ILayerMaterialCreator.h:59
Trk::ILayerMaterialCreator::m_layerMaterialName
std::string m_layerMaterialName
Definition: ILayerMaterialCreator.h:55
Trk::ILayerMaterialCreator::createLayerMaterial
virtual LayerMaterialProperties * createLayerMaterial(const LayerMaterialRecord &lmr) const =0
process the material properties
Trk::LayerMaterialProperties
Definition: LayerMaterialProperties.h:62
CxxUtils::CachedValue< std::string >
Trk::ILayerMaterialCreator::convertLayerMaterial
virtual LayerMaterialProperties * convertLayerMaterial(const LayerMaterialProperties &lmr) const =0
create layer material properties from layer material properties
Trk::LayerMaterialRecord
Definition: LayerMaterialRecord.h:42
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
CachedValue.h
Cached value with atomic update.
CxxUtils::CachedValue::set
void set(const T &val) const
Set the value, assuming it is currently invalid.
Trk::ILayerMaterialCreator::DeclareInterfaceID
DeclareInterfaceID(ILayerMaterialCreator, 1, 0)