ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_MaterialManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
15class GeoMaterial;
16class GeoElement;
18class SCT_DataBase;
19
21{
22
23public:
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
38private:
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
InDetMaterialManager.
const GeoMaterial * m_gasMaterial
const GeoMaterial * getMaterial(const std::string &materialName)
SCT_MaterialManager(SCT_DataBase *db)
std::unique_ptr< InDetMaterialManager > m_materialManager
const GeoMaterial * getMaterialForVolume(const std::string &materialName, double volume)
const GeoMaterial * gasMaterial() const
const GeoElement * getElement(const std::string &elementName)
void addMaterial(GeoMaterial *material)