#include <G4QGSBinaryNeutronBuilder.hh>
Inheritance diagram for G4QGSBinaryNeutronBuilder:
Public Member Functions | |
G4QGSBinaryNeutronBuilder (G4bool quasiElastic=false) | |
virtual | ~G4QGSBinaryNeutronBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4HadronFissionProcess *aP) |
virtual void | Build (G4HadronCaptureProcess *aP) |
virtual void | Build (G4NeutronInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 60 of file G4QGSBinaryNeutronBuilder.hh.
G4QGSBinaryNeutronBuilder::G4QGSBinaryNeutronBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 48 of file G4QGSBinaryNeutronBuilder.cc.
References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00049 { 00050 theMin = 12*GeV; 00051 theModel = new G4TheoFSGenerator("QGSB"); 00052 00053 theStringModel = new G4QGSModel< G4QGSParticipants >; 00054 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); 00055 theStringModel->SetFragmentationModel(theStringDecay); 00056 00057 theCascade = new G4BinaryCascade; 00058 thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); 00059 theCascade->SetDeExcitation(thePreEquilib); 00060 00061 theModel->SetTransport(theCascade); 00062 theModel->SetHighEnergyGenerator(theStringModel); 00063 if (quasiElastic) 00064 { 00065 theQuasiElastic=new G4QuasiElasticChannel; 00066 theModel->SetQuasiElasticChannel(theQuasiElastic); 00067 } else 00068 { theQuasiElastic=0;} 00069 }
G4QGSBinaryNeutronBuilder::~G4QGSBinaryNeutronBuilder | ( | ) | [virtual] |
Definition at line 72 of file G4QGSBinaryNeutronBuilder.cc.
00073 { 00074 delete theStringDecay; 00075 delete theStringModel; 00076 delete thePreEquilib; 00077 delete theCascade; 00078 if ( theQuasiElastic ) delete theQuasiElastic; 00079 delete theModel; 00080 }
void G4QGSBinaryNeutronBuilder::Build | ( | G4NeutronInelasticProcess * | aP | ) | [virtual] |
Implements G4VNeutronBuilder.
Definition at line 98 of file G4QGSBinaryNeutronBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4Neutron::Neutron(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00099 { 00100 theModel->SetMinEnergy(theMin); 00101 theModel->SetMaxEnergy(100*TeV); 00102 aP->RegisterMe(theModel); 00103 aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Neutron::Neutron())); 00104 }
void G4QGSBinaryNeutronBuilder::Build | ( | G4HadronCaptureProcess * | aP | ) | [virtual] |
void G4QGSBinaryNeutronBuilder::Build | ( | G4HadronFissionProcess * | aP | ) | [virtual] |
void G4QGSBinaryNeutronBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4QGSBinaryNeutronBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |