182{
184 G4cout <<
"G4GammaNuclearXS::BuildPhysicsTable for "
186 }
190 << " only gamma is allowed";
191 G4Exception(
"G4GammaNuclearXS::BuildPhysicsTable(..)",
"had012",
193 return;
194 }
195 if(0. == coeff[0]) {
196#ifdef G4MULTITHREADED
198 if(0. == coeff[0]) {
199#endif
200 coeff[0] = 1.0;
201 isMaster = true;
202 FindDirectoryPath();
203#ifdef G4MULTITHREADED
204 }
206#endif
207 }
208
209
210 if(isMaster) {
211
212
214 size_t numOfCouples = theCoupleTable->GetTableSize();
215 for(size_t j=0; j<numOfCouples; ++j) {
216 auto mat = theCoupleTable->GetMaterialCutsCouple(j)->GetMaterial();
217 auto elmVec = mat->GetElementVector();
218 size_t numOfElem = mat->GetNumberOfElements();
219 for (size_t ie = 0; ie < numOfElem; ++ie) {
220 G4int Z = std::max(1,std::min(((*elmVec)[ie])->GetZasInt(),
MAXZEL-1));
221 if(data[Z] == nullptr) { Initialise(Z); }
222 }
223 }
224 }
225}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
const G4String & GetParticleName() const
static G4ProductionCutsTable * GetProductionCutsTable()