#include <G4QGSCNeutronBuilder.hh>
Inheritance diagram for G4QGSCNeutronBuilder:
Public Member Functions | |
G4QGSCNeutronBuilder (G4bool quasiElastic=false) | |
virtual | ~G4QGSCNeutronBuilder () |
virtual void | Build (G4HadronElasticProcess *) |
virtual void | Build (G4HadronFissionProcess *) |
virtual void | Build (G4HadronCaptureProcess *) |
virtual void | Build (G4NeutronInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 58 of file G4QGSCNeutronBuilder.hh.
G4QGSCNeutronBuilder::G4QGSCNeutronBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 47 of file G4QGSCNeutronBuilder.cc.
References G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00048 { 00049 theMin = 8*GeV; 00050 theModel = new G4TheoFSGenerator("QGSC"); 00051 00052 theStringModel= new G4QGSModel< G4QGSParticipants >; 00053 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); 00054 theStringModel->SetFragmentationModel(theStringDecay); 00055 00056 theCascade = new G4QStringChipsParticleLevelInterface; 00057 00058 theModel->SetTransport(theCascade); 00059 theModel->SetHighEnergyGenerator(theStringModel); 00060 if (quasiElastic) 00061 { 00062 theQuasiElastic=new G4QuasiElasticChannel; 00063 theModel->SetQuasiElasticChannel(theQuasiElastic); 00064 } else 00065 { theQuasiElastic=0;} 00066 }
G4QGSCNeutronBuilder::~G4QGSCNeutronBuilder | ( | ) | [virtual] |
Definition at line 68 of file G4QGSCNeutronBuilder.cc.
00069 { 00070 delete theStringDecay; 00071 delete theStringModel; 00072 delete theCascade; 00073 if ( theQuasiElastic ) delete theQuasiElastic; 00074 delete theModel; 00075 }
void G4QGSCNeutronBuilder::Build | ( | G4NeutronInelasticProcess * | aP | ) | [virtual] |
Implements G4VNeutronBuilder.
Definition at line 78 of file G4QGSCNeutronBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00079 { 00080 theModel->SetMinEnergy(theMin); 00081 theModel->SetMaxEnergy(100*TeV); 00082 aP->RegisterMe(theModel); 00083 aP->AddDataSet(new G4NeutronInelasticCrossSection); 00084 }
virtual void G4QGSCNeutronBuilder::Build | ( | G4HadronCaptureProcess * | ) | [inline, virtual] |
virtual void G4QGSCNeutronBuilder::Build | ( | G4HadronFissionProcess * | ) | [inline, virtual] |
virtual void G4QGSCNeutronBuilder::Build | ( | G4HadronElasticProcess * | ) | [inline, virtual] |
void G4QGSCNeutronBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |