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