42 G4ParticleDefinition* neutron = G4Neutron::Neutron();
43 G4ProcessManager* pManager = neutron->GetProcessManager();
46 G4ProcessTable* processTable = G4ProcessTable::GetProcessTable();
47 G4VProcess* process = 0;
48 process = processTable->FindProcess(
"hadElastic", neutron);
49 if (process) pManager->RemoveProcess(process);
51 process = processTable->FindProcess(
"neutronInelastic", neutron);
52 if (process) pManager->RemoveProcess(process);
54 process = processTable->FindProcess(
"nCapture", neutron);
55 if (process) pManager->RemoveProcess(process);
57 process = processTable->FindProcess(
"nFission", neutron);
58 if (process) pManager->RemoveProcess(process);
62 G4HadronElasticProcess* process1 =
new G4HadronElasticProcess();
63 pManager->AddDiscreteProcess(process1);
66 G4ParticleHPElastic* model1a =
new G4ParticleHPElastic();
67 process1->RegisterMe(model1a);
68 process1->AddDataSet(
new G4ParticleHPElasticData());
72 model1a->SetMinEnergy(4 * eV);
73 G4ParticleHPThermalScattering* model1b =
new G4ParticleHPThermalScattering();
74 process1->RegisterMe(model1b);
75 process1->AddDataSet(
new G4ParticleHPThermalScatteringData());
80 G4NeutronInelasticProcess* process2 =
new G4NeutronInelasticProcess();
81 pManager->AddDiscreteProcess(process2);
84 G4ParticleHPInelasticData* dataSet2 =
new G4ParticleHPInelasticData();
85 process2->AddDataSet(dataSet2);
88 G4ParticleHPInelastic* model2 =
new G4ParticleHPInelastic();
89 process2->RegisterMe(model2);
93 G4HadronCaptureProcess* process3 =
new G4HadronCaptureProcess();
94 pManager->AddDiscreteProcess(process3);
97 G4ParticleHPCaptureData* dataSet3 =
new G4ParticleHPCaptureData();
98 process3->AddDataSet(dataSet3);
101 G4ParticleHPCapture* model3 =
new G4ParticleHPCapture();
102 process3->RegisterMe(model3);
106 G4HadronFissionProcess* process4 =
new G4HadronFissionProcess();
107 pManager->AddDiscreteProcess(process4);
110 G4ParticleHPFissionData* dataSet4 =
new G4ParticleHPFissionData();
111 process4->AddDataSet(dataSet4);
114 G4ParticleHPFission* model4 =
new G4ParticleHPFission();
115 process4->RegisterMe(model4);