7 #include "G4MaterialPropertiesTable.hh"
8 #include "G4MaterialPropertyVector.hh"
14 #include <unordered_map>
17 typedef std::unordered_map<const GeoMaterialPropertiesTable*, G4MaterialPropertiesTable*> TableMap;
28 std::scoped_lock lock(tableMutex);
33 const auto itr = definedTables.find(thePropTable);
34 if(itr != definedTables.end())
37 G4MaterialPropertiesTable* newTable =
new G4MaterialPropertiesTable();
45 for(;it1_first!=it1_last;++it1_first)
46 newTable->AddConstProperty((it1_first->first).c_str(),it1_first->second);
52 for(;it2_first!=it2_last;++it2_first)
56 G4MaterialPropertyVector* g4MPV =
new G4MaterialPropertyVector();
60 while((*geoMPV).operator++())
67 newTable->AddProperty((it2_first->first).c_str(),g4MPV);
71 definedTables[thePropTable]=newTable;