43 G4ParticleDefinition* neutron = G4Neutron::Neutron();
44 G4ProcessManager* pManager = neutron->GetProcessManager();
47 G4ProcessTable*
processTable = G4ProcessTable::GetProcessTable();
49 process = processTable->FindProcess(
"hadElastic", neutron);
50 if (process) pManager->RemoveProcess(process);
52 process = processTable->FindProcess(
"neutronInelastic", neutron);
53 if (process) pManager->RemoveProcess(process);
55 process = processTable->FindProcess(
"nCapture", neutron);
56 if (process) pManager->RemoveProcess(process);
58 process = processTable->FindProcess(
"nFission", neutron);
59 if (process) pManager->RemoveProcess(process);
63 G4HadronElasticProcess* process1 =
new G4HadronElasticProcess();
64 pManager->AddDiscreteProcess(process1);
67 G4ParticleHPElastic* model1a =
new G4ParticleHPElastic();
68 process1->RegisterMe(model1a);
69 process1->AddDataSet(
new G4ParticleHPElasticData());
73 model1a->SetMinEnergy(4 *
eV);
74 G4ParticleHPThermalScattering* model1b =
new G4ParticleHPThermalScattering();
75 process1->RegisterMe(model1b);
76 process1->AddDataSet(
new G4ParticleHPThermalScatteringData());
81 G4NeutronInelasticProcess* process2 =
new G4NeutronInelasticProcess();
82 pManager->AddDiscreteProcess(process2);
85 G4ParticleHPInelasticData* dataSet2 =
new G4ParticleHPInelasticData();
86 process2->AddDataSet(dataSet2);
89 G4ParticleHPInelastic* model2 =
new G4ParticleHPInelastic();
90 process2->RegisterMe(model2);
94 G4HadronCaptureProcess* process3 =
new G4HadronCaptureProcess();
95 pManager->AddDiscreteProcess(process3);
98 G4ParticleHPCaptureData* dataSet3 =
new G4ParticleHPCaptureData();
99 process3->AddDataSet(dataSet3);
102 G4ParticleHPCapture* model3 =
new G4ParticleHPCapture();
103 process3->RegisterMe(model3);
107 G4HadronFissionProcess* process4 =
new G4HadronFissionProcess();
108 pManager->AddDiscreteProcess(process4);
111 G4ParticleHPFissionData* dataSet4 =
new G4ParticleHPFissionData();
112 process4->AddDataSet(dataSet4);
115 G4ParticleHPFission* model4 =
new G4ParticleHPFission();
116 process4->RegisterMe(model4);
std::unordered_map< int, std::unordered_map< int, std::string > > & processTable()
static constexpr double eV