#include <G4FTFPNeutronBuilder.hh>
Inheritance diagram for G4FTFPNeutronBuilder:
Public Member Functions | |
G4FTFPNeutronBuilder (G4bool quasiElastic=false) | |
virtual | ~G4FTFPNeutronBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4HadronFissionProcess *aP) |
virtual void | Build (G4HadronCaptureProcess *aP) |
virtual void | Build (G4NeutronInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
void | SetMaxEnergy (G4double aM) |
Definition at line 59 of file G4FTFPNeutronBuilder.hh.
G4FTFPNeutronBuilder::G4FTFPNeutronBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 49 of file G4FTFPNeutronBuilder.cc.
References G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00050 { 00051 theMin = 4*GeV; 00052 theMax = 100*TeV; 00053 theModel = new G4TheoFSGenerator("FTFP"); 00054 00055 theStringModel = new G4FTFModel; 00056 theStringDecay = new G4ExcitedStringDecay(theLund = new G4LundStringFragmentation); 00057 theStringModel->SetFragmentationModel(theStringDecay); 00058 00059 thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); 00060 theCascade = new G4GeneratorPrecompoundInterface(thePreEquilib); 00061 00062 theModel->SetTransport(theCascade); 00063 00064 theModel->SetHighEnergyGenerator(theStringModel); 00065 if (quasiElastic) 00066 { 00067 theQuasiElastic=new G4QuasiElasticChannel; 00068 theModel->SetQuasiElasticChannel(theQuasiElastic); 00069 } else 00070 { theQuasiElastic=0;} 00071 00072 theModel->SetMinEnergy(theMin); 00073 theModel->SetMaxEnergy(100*TeV); 00074 }
G4FTFPNeutronBuilder::~G4FTFPNeutronBuilder | ( | ) | [virtual] |
Definition at line 77 of file G4FTFPNeutronBuilder.cc.
00078 { 00079 delete theStringDecay; 00080 delete theStringModel; 00081 delete thePreEquilib; 00082 delete theCascade; 00083 if ( theQuasiElastic ) delete theQuasiElastic; 00084 //delete theHandler; 00085 delete theLund; 00086 }
void G4FTFPNeutronBuilder::Build | ( | G4NeutronInelasticProcess * | aP | ) | [virtual] |
Implements G4VNeutronBuilder.
Definition at line 104 of file G4FTFPNeutronBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4Neutron::Neutron(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00105 { 00106 theModel->SetMinEnergy(theMin); 00107 theModel->SetMaxEnergy(theMax); 00108 aP->RegisterMe(theModel); 00109 aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Neutron::Neutron())); 00110 00111 }
void G4FTFPNeutronBuilder::Build | ( | G4HadronCaptureProcess * | aP | ) | [virtual] |
void G4FTFPNeutronBuilder::Build | ( | G4HadronFissionProcess * | aP | ) | [virtual] |
void G4FTFPNeutronBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4FTFPNeutronBuilder::SetMaxEnergy | ( | G4double | aM | ) | [inline] |
void G4FTFPNeutronBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |