242{
244 G4cout <<
"G4NeutronCaptureXS::BuildPhysicsTable for "
246 }
250 << " only neutron is allowed";
251 G4Exception(
"G4NeutronCaptureXS::BuildPhysicsTable(..)",
"had012",
253 return;
254 }
255
256 if(nullptr == data) {
257#ifdef G4MULTITHREADED
259 if(nullptr == data) {
260#endif
261 isMaster = true;
263 data->
SetName(
"NeutronCapture");
264 FindDirectoryPath();
265#ifdef G4MULTITHREADED
266 }
268#endif
269 }
270
271
272 if(isMaster) {
273
274
276 size_t numOfCouples = theCoupleTable->GetTableSize();
277 for(size_t j=0; j<numOfCouples; ++j) {
278 auto mat = theCoupleTable->GetMaterialCutsCouple(j)->GetMaterial();
279 auto elmVec = mat->GetElementVector();
280 size_t numOfElem = mat->GetNumberOfElements();
281 for (size_t ie = 0; ie < numOfElem; ++ie) {
282 G4int Z = std::max(1,std::min(((*elmVec)[ie])->GetZasInt(),
MAXZCAPTURE-1));
284 }
285 }
286 }
287}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
G4PhysicsVector * GetElementData(G4int Z)
void SetName(const G4String &nam)
const G4String & GetParticleName() const
static G4ProductionCutsTable * GetProductionCutsTable()