185{
187 G4cout <<
"G4NeutronElasticXS::BuildPhysicsTable for "
189 }
193 << " only neutron is allowed";
194 G4Exception(
"G4NeutronElasticXS::BuildPhysicsTable(..)",
"had012",
196 return;
197 }
198 if(0. == coeff[0]) {
199#ifdef G4MULTITHREADED
201 if(0. == coeff[0]) {
202#endif
203 coeff[0] = 1.0;
204 isMaster = true;
205 FindDirectoryPath();
206#ifdef G4MULTITHREADED
207 }
209#endif
210 }
211
212
213 if(isMaster) {
214
215
217 size_t numOfCouples = theCoupleTable->GetTableSize();
218 for(size_t j=0; j<numOfCouples; ++j) {
219 auto mat = theCoupleTable->GetMaterialCutsCouple(j)->GetMaterial();
220 auto elmVec = mat->GetElementVector();
221 size_t numOfElem = mat->GetNumberOfElements();
222 for (size_t ie = 0; ie < numOfElem; ++ie) {
223 G4int Z = std::max(1,std::min(((*elmVec)[ie])->GetZasInt(),
MAXZEL-1));
224 if(data[Z] == nullptr) { Initialise(Z); }
225 }
226 }
227 }
228}
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()