272{
274 G4cout <<
"### G4NeutronGeneralProcess::BuildPhysicsTable() for "
278 }
282
283 if(isMaster) {
286
288
289 G4double sigEl(0.), sigInel(0.), sigCap(0.), val(0.), sum(0.);
290
291 for(std::size_t i=0; i<nmat; ++i) {
293
294
295 std::size_t
nn = (*(tables[0]))[i]->GetVectorLength();
297 G4cout <<
"======= Zone 0 ======= N= " <<
nn
299 }
300 for(std::size_t j=0; j<
nn; ++j) {
301 G4double e = (*(tables[0]))[i]->Energy(j);
303 sigEl = fXSFactorEl*ComputeCrossSection(fElasticXS, mat, e, loge);
304 sigInel = fXSFactorInel*ComputeCrossSection(fInelasticXS, mat, e, loge);
305 sigCap = ComputeCrossSection(fCaptureXS, mat, e, loge);
306 sum = sigEl + sigInel + sigCap;
308 G4cout << j <<
". E= " << e <<
" xs=" << sum <<
" sigEl=" << sigEl
309 <<
" sigInel=" << sigInel <<
" sigCap=" << sigCap <<
G4endl;
310 }
311 (*(tables[0]))[i]->PutValue(j, sum);
312 val = sigEl/sum;
313 (*(tables[1]))[i]->PutValue(j, val);
314 val = (sigEl + sigInel)/sum;
315 (*(tables[2]))[i]->PutValue(j, val);
316 }
317
318
319 nn = (*(tables[3]))[0]->GetVectorLength();
322 }
323 for(std::size_t j=0; j<
nn; ++j) {
324 G4double e = (*(tables[3]))[i]->Energy(j);
326 sigEl = fXSFactorEl*ComputeCrossSection(fElasticXS, mat, e, loge);
327 sigInel = fXSFactorInel*ComputeCrossSection(fInelasticXS, mat, e, loge);
328 sum = sigEl + sigInel;
330 G4cout << j <<
". E= " << e <<
" xs=" << sum <<
" sigEl=" << sigEl
331 << " sigInel=" << sigInel << " factInel=" << fXSFactorInel
333 }
334 (*(tables[3]))[i]->PutValue(j, sum);
335 val = sigInel/sum;
336 (*(tables[4]))[i]->PutValue(j, val);
337 }
338 }
339 }
341 G4cout <<
"### G4VEmProcess::BuildPhysicsTable() done for "
345 }
346}
G4double G4Log(G4double x)
std::vector< G4Material * > G4MaterialTable
G4GLOB_DLL std::ostream G4cout
const std::vector< G4PhysicsTable * > & GetTables() const
void BuildPhysicsTable(const G4ParticleDefinition &) override
static std::size_t GetNumberOfMaterials()
static G4MaterialTable * GetMaterialTable()
const G4String & GetName() const
const G4String & GetParticleName() const
const G4String & GetProcessName() const