#include <G4QGSCProtonBuilder.hh>
Inheritance diagram for G4QGSCProtonBuilder:
Public Member Functions | |
G4QGSCProtonBuilder (G4bool quasiElastic=false) | |
virtual | ~G4QGSCProtonBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4ProtonInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 59 of file G4QGSCProtonBuilder.hh.
G4QGSCProtonBuilder::G4QGSCProtonBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 46 of file G4QGSCProtonBuilder.cc.
References G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00047 { 00048 theMin = 8*GeV; 00049 theModel = new G4TheoFSGenerator("QGSC"); 00050 00051 theStringModel = new G4QGSModel< G4QGSParticipants >; 00052 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); 00053 theStringModel->SetFragmentationModel(theStringDecay); 00054 00055 theCascade = new G4QStringChipsParticleLevelInterface; 00056 00057 theModel->SetHighEnergyGenerator(theStringModel); 00058 theModel->SetTransport(theCascade); 00059 if (quasiElastic) 00060 { 00061 theQuasiElastic=new G4QuasiElasticChannel; 00062 theModel->SetQuasiElasticChannel(theQuasiElastic); 00063 } else 00064 { theQuasiElastic=0;} 00065 }
G4QGSCProtonBuilder::~G4QGSCProtonBuilder | ( | ) | [virtual] |
Definition at line 68 of file G4QGSCProtonBuilder.cc.
00069 { 00070 delete theCascade; 00071 delete theStringDecay; 00072 delete theStringModel; 00073 if ( theQuasiElastic ) delete theQuasiElastic; 00074 delete theModel; 00075 }
void G4QGSCProtonBuilder::Build | ( | G4ProtonInelasticProcess * | aP | ) | [virtual] |
Implements G4VProtonBuilder.
Definition at line 83 of file G4QGSCProtonBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00084 { 00085 theModel->SetMinEnergy(theMin); 00086 theModel->SetMaxEnergy(100*TeV); 00087 aP->RegisterMe(theModel); 00088 aP->AddDataSet(new G4ProtonInelasticCrossSection); 00089 }
void G4QGSCProtonBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4QGSCProtonBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |