ATLAS Offline Software
Loading...
Searching...
No Matches
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
19
20namespace Trk {
21
24
32 class ILayerMaterialCreator : virtual public IAlgTool {
33
34 public:
36
39
42
45
47 const std::string& layerMaterialName() const {
48 if (!m_layerMaterialFullName.isValid()) {
50 }
51 return *m_layerMaterialFullName.ptr();
52 }
53
54 protected:
57
58 private:
60 };
61
62
63} // end of namespace
64
65
66#endif // TRKDETDESCRINTERFACES_ILAYERMATERIALCREATOR_H
67
68
Cached value with atomic update.
Cached value with atomic update.
Definition CachedValue.h:55
Interface class for LayerMaterialCreator AlgTools to create LayerMaterial properties with different s...
const std::string & layerMaterialName() const
the name of the created material map
DeclareInterfaceID(ILayerMaterialCreator, 1, 0)
CxxUtils::CachedValue< std::string > m_layerMaterialFullName
virtual ~ILayerMaterialCreator()
Virtual destructor.
virtual LayerMaterialProperties * convertLayerMaterial(const LayerMaterialProperties &lmr) const =0
create layer material properties from layer material properties
virtual LayerMaterialProperties * createLayerMaterial(const LayerMaterialRecord &lmr) const =0
process the material properties
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Helper Class to record the material during the GeantinoNtupleMappingProcess.
Ensure that the ATLAS eigen extensions are properly loaded.