ATLAS Offline Software
SCT_MaterialManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SCT_MATERIALMANAGER_H
6 #define SCT_MATERIALMANAGER_H
7 
8 // SCT_MaterialManager. This provides an interface to the InDetMaterialManager which in turn
9 // is an interface to GeoModel Material Manager with some additional functionality.
11 
12 #include <memory>
13 #include <string>
14 
15 class GeoMaterial;
16 class GeoElement;
18 class SCT_DataBase;
19 
21 {
22 
23 public:
24 
26 
27  const GeoMaterial* getMaterial(const std::string & materialName);
28  const GeoElement* getElement(const std::string & elementName);
29 
30  const GeoMaterial* getMaterial(const std::string & originalMaterial,
31  double density,
32  const std::string & newName = "");
33  const GeoMaterial *getMaterialForVolume(const std::string & materialName, double volume);
34 
35  // Default gas material
36  const GeoMaterial* gasMaterial() const;
37 
38 private:
39  void loadMaterials();
40  void addMaterial(GeoMaterial* material);
41 
42  std::unique_ptr<InDetMaterialManager> m_materialManager;
43  const GeoMaterial* m_gasMaterial;
44 
45 };
46 
47 
48 #endif // SCT_MATERIALMANAGER_H
SCT_MaterialManager
Definition: SCT_MaterialManager.h:21
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
SCT_MaterialManager::m_gasMaterial
const GeoMaterial * m_gasMaterial
Definition: SCT_MaterialManager.h:43
SCT_MaterialManager::SCT_MaterialManager
SCT_MaterialManager(SCT_DataBase *db)
Definition: SCT_MaterialManager.cxx:18
SCT_MaterialManager::gasMaterial
const GeoMaterial * gasMaterial() const
Definition: SCT_MaterialManager.cxx:80
SCT_DataBase
Definition: SCT_DataBase.h:17
SCT_MaterialManager::getMaterialForVolume
const GeoMaterial * getMaterialForVolume(const std::string &materialName, double volume)
Definition: SCT_MaterialManager.cxx:72
InDetMaterialManager
InDetMaterialManager.
Definition: InDetMaterialManager.h:34
InDetMaterialManager.h
MakeNewFileFromOldAndSubstitution.newName
dictionary newName
Definition: ICHEP2016/MakeNewFileFromOldAndSubstitution.py:95
SCT_MaterialManager::getElement
const GeoElement * getElement(const std::string &elementName)
Definition: SCT_MaterialManager.cxx:45
SCT_MaterialManager::getMaterial
const GeoMaterial * getMaterial(const std::string &materialName)
Definition: SCT_MaterialManager.cxx:51
SCT_MaterialManager::addMaterial
void addMaterial(GeoMaterial *material)
Definition: SCT_MaterialManager.cxx:57
SCT_MaterialManager::m_materialManager
std::unique_ptr< InDetMaterialManager > m_materialManager
Definition: SCT_MaterialManager.h:42
SCT_MaterialManager::loadMaterials
void loadMaterials()
Definition: SCT_MaterialManager.cxx:40