ATLAS Offline Software
Loading...
Searching...
No Matches
GeoMaterialPropertiesTable.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GeoMaterialPropertiesTable_h
6#define GeoMaterialPropertiesTable_h 1
7
8#include <map>
9#include <string>
10
13
14#include "GeoModelKernel/RCBase.h"
16
18
19class GeoMaterialPropertiesTable : public RCBase
20{
21 public:
24
25 public:
26 // ******** Typedefs
27 // Maps
28 typedef std::map<std::string, GeoMaterialPropertyVector*, std::less<std::string> > GeoMatPVMap;
29 typedef std::map< std::string, double, std::less<std::string> > GeoMatPMap;
30
31 // Iterators
32 typedef GeoMatPVMap::const_iterator GeoMatPVMap_ConstIt;
33 typedef GeoMatPMap::const_iterator GeoMatPMap_ConstIt;
34
35 public:
36 // Add a new property to the table by giving a key-name and value
37 void AddConstProperty(const char *key,
38 double PropertyValue);
39
40 // Add a new property to the table by giving a key-name and the
41 // arrays x and y of size NumEntries.
42 void AddProperty(const char *key,
43 double *PhotonMomenta,
44 double *PropertyValues,
45 int NumEntries);
46
47 // Add a new property to the table by giving a key-name and an
48 // already constructed GeoMaterialPropertyVector.
49 void AddProperty(const char *key, GeoMaterialPropertyVector *opv);
50
51 // Remove a constant property from the table.
52 void RemoveConstProperty(const char *key);
53
54 // Remove a property from the table.
55 void RemoveProperty(const char *key);
56
57 // Add a new entry (pair of numbers) to the table for a given key.
58 void AddEntry(const char *key, double aPhotonMomentum,
59 double aPropertyValue);
60
61 // Access to the contents
64
67
68 // Dump contents
69 void DumpTable() const;
70
71 private:
74
75 typedef GeoMatPVMap::iterator MPTiterator;
76 typedef GeoMatPMap::iterator MPTCiterator;
77};
78
79#endif
void AddConstProperty(const char *key, double PropertyValue)
GeoMatPVMap::const_iterator GeoMatPVMap_ConstIt
void AddProperty(const char *key, double *PhotonMomenta, double *PropertyValues, int NumEntries)
void AddEntry(const char *key, double aPhotonMomentum, double aPropertyValue)
GeoMatPVMap_ConstIt beginPVMap() const
std::map< std::string, double, std::less< std::string > > GeoMatPMap
std::map< std::string, GeoMaterialPropertyVector *, std::less< std::string > > GeoMatPVMap
GeoMatPMap::const_iterator GeoMatPMap_ConstIt
GeoMatPMap_ConstIt beginPMap() const
GeoMatPVMap_ConstIt endPVMap() const