#include <G4FTFCNeutronBuilder.hh>
Inheritance diagram for G4FTFCNeutronBuilder:
Public Member Functions | |
G4FTFCNeutronBuilder (G4bool quasiElastic=false) | |
virtual | ~G4FTFCNeutronBuilder () |
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 57 of file G4FTFCNeutronBuilder.hh.
G4FTFCNeutronBuilder::G4FTFCNeutronBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 47 of file G4FTFCNeutronBuilder.cc.
References G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00048 { 00049 theMin = 4*GeV; 00050 theModel = new G4TheoFSGenerator; 00051 00052 theStringModel = new G4FTFModel; 00053 theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); 00054 theStringModel->SetFragmentationModel(theStringDecay); 00055 00056 theCascade = new G4StringChipsParticleLevelInterface; 00057 00058 theModel->SetHighEnergyGenerator(theStringModel); 00059 if (quasiElastic) 00060 { 00061 theQuasiElastic=new G4QuasiElasticChannel; 00062 theModel->SetQuasiElasticChannel(theQuasiElastic); 00063 } else 00064 { theQuasiElastic=0;} 00065 00066 theModel->SetTransport(theCascade); 00067 theModel->SetMinEnergy(theMin); 00068 theModel->SetMaxEnergy(100*TeV); 00069 }
G4FTFCNeutronBuilder::~G4FTFCNeutronBuilder | ( | ) | [virtual] |
Definition at line 71 of file G4FTFCNeutronBuilder.cc.
00072 { 00073 delete theCascade; 00074 delete theStringDecay; 00075 if ( theQuasiElastic ) delete theQuasiElastic; 00076 delete theStringModel; 00077 delete theModel; 00078 }
void G4FTFCNeutronBuilder::Build | ( | G4NeutronInelasticProcess * | aP | ) | [virtual] |
Implements G4VNeutronBuilder.
Definition at line 96 of file G4FTFCNeutronBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().
00097 { 00098 theModel->SetMinEnergy(theMin); 00099 aP->AddDataSet(new G4NeutronInelasticCrossSection); 00100 aP->RegisterMe(theModel); 00101 }
void G4FTFCNeutronBuilder::Build | ( | G4HadronCaptureProcess * | aP | ) | [virtual] |
void G4FTFCNeutronBuilder::Build | ( | G4HadronFissionProcess * | aP | ) | [virtual] |
void G4FTFCNeutronBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4FTFCNeutronBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |