37 : m_ftfp(nullptr), m_stringModel(nullptr), m_stringDecay(nullptr),
58 G4ChipsElasticModel* elMod =
new G4ChipsElasticModel();
61 G4CascadeInterface* loInelModel =
new G4CascadeInterface;
62 loInelModel->SetMinEnergy(0.0);
63 loInelModel->SetMaxEnergy(12.0 * GeV);
66 G4NeutronRadCapture* capModel =
new G4NeutronRadCapture();
69 m_ftfp =
new G4TheoFSGenerator(
"FTFP");
72 new G4ExcitedStringDecay(
m_fragModel =
new G4LundStringFragmentation);
78 m_ftfp->SetMinEnergy(5 * GeV);
79 m_ftfp->SetMaxEnergy(100 * TeV);
82 G4BGGNucleonInelasticXS* inelCS =
new G4BGGNucleonInelasticXS(G4Neutron::Neutron());
83 G4NeutronElasticXS* elCS =
new G4NeutronElasticXS;
84 G4NeutronCaptureXS* capCS =
new G4NeutronCaptureXS;
86 G4ProcessManager* procMan = G4Neutron::Neutron()->GetProcessManager();
89 G4HadronElasticProcess* nProcEl =
new G4HadronElasticProcess;
90 nProcEl->RegisterMe(elMod);
91 nProcEl->AddDataSet(elCS);
92 procMan->AddDiscreteProcess(nProcEl);
95 G4HadronInelasticProcess* nProcInel =
new G4HadronInelasticProcess(
"neutronInelastic", G4Neutron::Definition());
96 nProcInel->RegisterMe(loInelModel);
97 nProcInel->RegisterMe(
m_ftfp);
98 nProcInel->AddDataSet(inelCS);
99 procMan->AddDiscreteProcess(nProcInel);
102 G4NeutronCaptureProcess* nProcCap =
new G4NeutronCaptureProcess;
103 nProcCap->RegisterMe(capModel);
104 nProcCap->AddDataSet(capCS);
105 procMan->AddDiscreteProcess(nProcCap);
108 G4NeutronKiller* nKiller =
new G4NeutronKiller();
109 nKiller->SetKinEnergyLimit(0.0 * MeV);
110 nKiller->SetTimeLimit(10.*microsecond);
111 procMan->AddDiscreteProcess(nKiller);