#include <G4FTFBinaryProtonBuilder.hh>
Inheritance diagram for G4FTFBinaryProtonBuilder:
Public Member Functions | |
G4FTFBinaryProtonBuilder (G4bool quasiElastic=false) | |
virtual | ~G4FTFBinaryProtonBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4ProtonInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 59 of file G4FTFBinaryProtonBuilder.hh.
G4FTFBinaryProtonBuilder::G4FTFBinaryProtonBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 50 of file G4FTFBinaryProtonBuilder.cc.
References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00051 { 00052 theMin = 4*GeV; 00053 theModel = new G4TheoFSGenerator("FTFB"); 00054 00055 theStringModel = new G4FTFModel; 00056 theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); 00057 theStringModel->SetFragmentationModel(theStringDecay); 00058 00059 theCascade = new G4BinaryCascade; 00060 thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); 00061 theCascade->SetDeExcitation(thePreEquilib); 00062 theModel->SetTransport(theCascade); 00063 00064 theModel->SetHighEnergyGenerator(theStringModel); 00065 theModel->SetMinEnergy(theMin); 00066 theModel->SetMaxEnergy(100*TeV); 00067 00068 if (quasiElastic) 00069 { 00070 theQuasiElastic=new G4QuasiElasticChannel; 00071 theModel->SetQuasiElasticChannel(theQuasiElastic); 00072 } else 00073 { theQuasiElastic=0;} 00074 00075 }
G4FTFBinaryProtonBuilder::~G4FTFBinaryProtonBuilder | ( | ) | [virtual] |
Definition at line 86 of file G4FTFBinaryProtonBuilder.cc.
00087 { 00088 delete theStringDecay; 00089 delete theStringModel; 00090 delete theModel; 00091 delete theCascade; 00092 if ( theQuasiElastic ) delete theQuasiElastic; 00093 }
void G4FTFBinaryProtonBuilder::Build | ( | G4ProtonInelasticProcess * | aP | ) | [virtual] |
Implements G4VProtonBuilder.
Definition at line 78 of file G4FTFBinaryProtonBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4Proton::Proton(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().
00079 { 00080 theModel->SetMinEnergy(theMin); 00081 aP->RegisterMe(theModel); 00082 aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Proton::Proton())); 00083 }
void G4FTFBinaryProtonBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4FTFBinaryProtonBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |