#include <G4QGSPPiKBuilder.hh>
Inheritance diagram for G4QGSPPiKBuilder:
Public Member Functions | |
G4QGSPPiKBuilder (G4bool quasiElastic=false, G4bool projectileDiffraction=false) | |
virtual | ~G4QGSPPiKBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4PionPlusInelasticProcess *aP) |
virtual void | Build (G4PionMinusInelasticProcess *aP) |
virtual void | Build (G4KaonPlusInelasticProcess *aP) |
virtual void | Build (G4KaonMinusInelasticProcess *aP) |
virtual void | Build (G4KaonZeroLInelasticProcess *aP) |
virtual void | Build (G4KaonZeroSInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 62 of file G4QGSPPiKBuilder.hh.
G4QGSPPiKBuilder::G4QGSPPiKBuilder | ( | G4bool | quasiElastic = false , |
|
G4bool | projectileDiffraction = false | |||
) |
Definition at line 54 of file G4QGSPPiKBuilder.cc.
References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4TheoFSGenerator::SetProjectileDiffraction(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00055 { 00056 thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); 00057 00058 theMin = 12*GeV; 00059 theModel = new G4TheoFSGenerator("QGSP"); 00060 00061 theStringModel = new G4QGSModel< G4QGSParticipants >; 00062 theStringDecay = new G4ExcitedStringDecay(theQGSM = new G4QGSMFragmentation); 00063 theStringModel->SetFragmentationModel(theStringDecay); 00064 00065 00066 theCascade = new G4GeneratorPrecompoundInterface; 00067 thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler); 00068 theCascade->SetDeExcitation(thePreEquilib); 00069 00070 theModel->SetHighEnergyGenerator(theStringModel); 00071 if (quasiElastic) 00072 { 00073 theQuasiElastic=new G4QuasiElasticChannel; 00074 theModel->SetQuasiElasticChannel(theQuasiElastic); 00075 } else 00076 { theQuasiElastic=0;} 00077 if ( projectileDiffraction ) 00078 { 00079 theProjectileDiffraction=new G4ProjectileDiffractiveChannel; 00080 theModel->SetProjectileDiffraction(theProjectileDiffraction); 00081 } else 00082 { theProjectileDiffraction=0;} 00083 00084 theModel->SetTransport(theCascade); 00085 }
G4QGSPPiKBuilder::~G4QGSPPiKBuilder | ( | ) | [virtual] |
Definition at line 88 of file G4QGSPPiKBuilder.cc.
00089 { 00090 delete theCascade; 00091 delete thePreEquilib; 00092 if ( theQuasiElastic ) delete theQuasiElastic; 00093 if ( theProjectileDiffraction ) delete theProjectileDiffraction; 00094 delete theStringDecay; 00095 delete theStringModel; 00096 delete theModel; 00097 delete theQGSM; 00098 //delete theHandler; 00099 }
void G4QGSPPiKBuilder::Build | ( | G4KaonZeroSInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 150 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00151 { 00152 theModel->SetMinEnergy(theMin); 00153 theModel->SetMaxEnergy(100*TeV); 00154 aP->RegisterMe(theModel); 00155 }
void G4QGSPPiKBuilder::Build | ( | G4KaonZeroLInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 141 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonZeroInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00142 { 00143 theModel->SetMinEnergy(theMin); 00144 theModel->SetMaxEnergy(100*TeV); 00145 aP->RegisterMe(theModel); 00146 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name())); 00147 }
void G4QGSPPiKBuilder::Build | ( | G4KaonMinusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 132 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonMinusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00133 { 00134 theModel->SetMinEnergy(theMin); 00135 theModel->SetMaxEnergy(100*TeV); 00136 aP->RegisterMe(theModel); 00137 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusInelasticXS::Default_Name())); 00138 }
void G4QGSPPiKBuilder::Build | ( | G4KaonPlusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 123 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonPlusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00124 { 00125 theModel->SetMinEnergy(theMin); 00126 theModel->SetMaxEnergy(100*TeV); 00127 aP->RegisterMe(theModel); 00128 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusInelasticXS::Default_Name())); 00129 }
void G4QGSPPiKBuilder::Build | ( | G4PionMinusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 114 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00115 { 00116 theModel->SetMinEnergy(theMin); 00117 theModel->SetMaxEnergy(100*TeV); 00118 aP->AddDataSet(thePiData); 00119 aP->RegisterMe(theModel); 00120 }
void G4QGSPPiKBuilder::Build | ( | G4PionPlusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 105 of file G4QGSPPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00106 { 00107 theModel->SetMinEnergy(theMin); 00108 theModel->SetMaxEnergy(100*TeV); 00109 aP->AddDataSet(thePiData); 00110 aP->RegisterMe(theModel); 00111 }
void G4QGSPPiKBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4QGSPPiKBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |