69 for (i =
MPT.begin(); i !=
MPT.end(); ++i)
88 if ( j !=
MPTC.end() )
return j->second;
90 G4Exception(
"G4MaterialPropertiesTable::GetConstProperty()",
"mat202",
101 if ( j !=
MPTC.end() )
return true;
136 if ( i !=
MPT.end() )
return i->second;
148 if (targetVector !=
nullptr)
150 targetVector->
InsertValues(aPhotonEnergy, aPropertyValue);
154 G4Exception(
"G4MaterialPropertiesTable::AddEntry()",
"mat203",
162 for (i =
MPT.begin(); i !=
MPT.end(); ++i)
165 if ( (*i).second != 0 )
167 (*i).second->DumpValues();
171 G4Exception(
"G4MaterialPropertiesTable::DumpTable()",
"mat204",
172 JustWarning,
"NULL Material Property Vector Pointer.");
176 for (j =
MPTC.begin(); j !=
MPTC.end(); ++j)
179 if ( j->second != 0 )
185 G4Exception(
"G4MaterialPropertiesTable::DumpTable()",
"mat202",
191 #ifdef G4MULTITHREADED
200 #ifdef G4MULTITHREADED
206 itr =
MPT.find(
"GROUPVEL");
207 if(itr !=
MPT.end())
return itr->second;
212 if (rindex==0) {
return 0; }
216 if ( rindex->GetVectorLength() == 0 ) {
return 0; }
230 G4Exception(
"G4MaterialPropertiesTable::SetGROUPVEL()",
"mat205",
234 if ( rindex->GetVectorLength() >= 2 )
244 G4Exception(
"G4MaterialPropertiesTable::SetGROUPVEL()",
"mat205",
252 vg = c_light/(n0+(n1-n0)/
G4Log(E1/E0));
256 if((vg<0) || (vg>c_light/n0)) { vg = c_light/n0; }
263 for (
size_t i = 2; i < rindex->GetVectorLength(); i++)
265 vg = c_light/( 0.5*(n0+n1)+(n1-n0)/
G4Log(E1/E0));
269 if((vg<0) || (vg>c_light/(0.5*(n0+n1)))) { vg = c_light/(0.5*(n0+n1)); }
276 E1 = rindex->Energy(i);
281 G4Exception(
"G4MaterialPropertiesTable::SetGROUPVEL()",
"mat205",
288 vg = c_light/(n1+(n1-n0)/
G4Log(E1/E0));
292 if((vg<0) || (vg>c_light/n1)) { vg = c_light/n1; }
void AddEntry(const char *key, G4double aPhotonEnergy, G4double aPropertyValue)
G4MaterialPropertiesTable()
void InsertValues(G4double energy, G4double value)
G4MaterialPropertyVector * SetGROUPVEL()
#define G4MUTEX_INITIALIZER
G4MaterialPropertyVector * AddProperty(const char *key, G4double *PhotonEnergies, G4double *PropertyValues, G4int NumEntries)
G4GLOB_DLL std::ostream G4cout
G4PhysicsOrderedFreeVector G4MaterialPropertyVector
std::map< G4String, G4double, std::less< G4String > > MPTC
std::map< G4String, G4MaterialPropertyVector *, std::less< G4String > >::const_iterator MPTiterator
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double G4Log(G4double x)
G4bool ConstPropertyExists(const char *key) const
std::map< G4String, G4double, std::less< G4String > >::const_iterator MPTCiterator
std::map< G4String, G4MaterialPropertyVector *, std::less< G4String > > MPT
G4MaterialPropertyVector * GetProperty(const char *key)
virtual ~G4MaterialPropertiesTable()
G4double GetConstProperty(const char *key) const