ATLAS Offline Software
Loading...
Searching...
No Matches
PixelMaterialMap.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELGEOMODEL_PIXELMATERIALMAP_H
6#define PIXELGEOMODEL_PIXELMATERIALMAP_H
7
8// Class to interpret and query table PixelMaterialMap
9
10
12#include <string_view>
13#include <string>
14#include <map>
15
17{
18
19public:
20 PixelMaterialMap(const IRDBRecordset_ptr& mapTable);
21
22 void addMaterial(int layerdisk, int typenum, std::string_view volumeName, std::string_view materialName);
23 std::string getMaterial(int layerdisk, int typenum, std::string_view volumeName) const;
24
25private:
26 class Key
27 {
28 public:
29 Key(int layerdisk_in, int typenum_in, std::string_view volumeName_in);
30 int layerdisk{};
31 int typenum{};
32 std::string volumeName;
33 bool operator<(const Key &rhs) const;
34 };
35
36 typedef std::map<Key, std::string> mapType;
38
39};
40
41#endif // PixelMaterialMap
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Key(int layerdisk_in, int typenum_in, std::string_view volumeName_in)
bool operator<(const Key &rhs) const
std::map< Key, std::string > mapType
std::string getMaterial(int layerdisk, int typenum, std::string_view volumeName) const
void addMaterial(int layerdisk, int typenum, std::string_view volumeName, std::string_view materialName)
PixelMaterialMap(const IRDBRecordset_ptr &mapTable)