#include <G4QGSBinaryPiKBuilder.hh>
Inheritance diagram for G4QGSBinaryPiKBuilder:
Public Member Functions | |
G4QGSBinaryPiKBuilder (G4bool quasiElastic=false) | |
virtual | ~G4QGSBinaryPiKBuilder () |
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 G4QGSBinaryPiKBuilder.hh.
G4QGSBinaryPiKBuilder::G4QGSBinaryPiKBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 52 of file G4QGSBinaryPiKBuilder.cc.
References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00053 { 00054 thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); 00055 00056 theMin = 12*GeV; 00057 theModel = new G4TheoFSGenerator("QGSB"); 00058 00059 theStringModel = new G4QGSModel< G4QGSParticipants >; 00060 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation); 00061 theStringModel->SetFragmentationModel(theStringDecay); 00062 00063 00064 theCascade = new G4BinaryCascade; 00065 thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); 00066 theCascade->SetDeExcitation(thePreEquilib); 00067 00068 theModel->SetHighEnergyGenerator(theStringModel); 00069 if (quasiElastic) 00070 { 00071 theQuasiElastic=new G4QuasiElasticChannel; 00072 theModel->SetQuasiElasticChannel(theQuasiElastic); 00073 } else 00074 { theQuasiElastic=0;} 00075 theModel->SetTransport(theCascade); 00076 }
G4QGSBinaryPiKBuilder::~G4QGSBinaryPiKBuilder | ( | ) | [virtual] |
Definition at line 79 of file G4QGSBinaryPiKBuilder.cc.
00080 { 00081 delete theCascade; 00082 delete thePreEquilib; 00083 if ( theQuasiElastic ) delete theQuasiElastic; 00084 delete theStringDecay; 00085 delete theStringModel; 00086 delete theModel; 00087 }
void G4QGSBinaryPiKBuilder::Build | ( | G4KaonZeroSInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 138 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00139 { 00140 theModel->SetMinEnergy(theMin); 00141 theModel->SetMaxEnergy(100*TeV); 00142 aP->RegisterMe(theModel); 00143 }
void G4QGSBinaryPiKBuilder::Build | ( | G4KaonZeroLInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 129 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonZeroInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00130 { 00131 theModel->SetMinEnergy(theMin); 00132 theModel->SetMaxEnergy(100*TeV); 00133 aP->RegisterMe(theModel); 00134 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name())); 00135 }
void G4QGSBinaryPiKBuilder::Build | ( | G4KaonMinusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 120 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonMinusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00121 { 00122 theModel->SetMinEnergy(theMin); 00123 theModel->SetMaxEnergy(100*TeV); 00124 aP->RegisterMe(theModel); 00125 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusInelasticXS::Default_Name())); 00126 }
void G4QGSBinaryPiKBuilder::Build | ( | G4KaonPlusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 111 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4ChipsKaonPlusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00112 { 00113 theModel->SetMinEnergy(theMin); 00114 theModel->SetMaxEnergy(100*TeV); 00115 aP->RegisterMe(theModel); 00116 aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusInelasticXS::Default_Name())); 00117 }
void G4QGSBinaryPiKBuilder::Build | ( | G4PionMinusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 102 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00103 { 00104 theModel->SetMinEnergy(theMin); 00105 theModel->SetMaxEnergy(100*TeV); 00106 aP->AddDataSet(thePiData); 00107 aP->RegisterMe(theModel); 00108 }
void G4QGSBinaryPiKBuilder::Build | ( | G4PionPlusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPiKBuilder.
Definition at line 93 of file G4QGSBinaryPiKBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().
00094 { 00095 theModel->SetMinEnergy(theMin); 00096 theModel->SetMaxEnergy(100*TeV); 00097 aP->AddDataSet(thePiData); 00098 aP->RegisterMe(theModel); 00099 }
void G4QGSBinaryPiKBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4QGSBinaryPiKBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |