#include <HadronPhysicsQGSP_FTFP_BERT_95.hh>
Inheritance diagram for HadronPhysicsQGSP_FTFP_BERT_95:
Public Member Functions | |
HadronPhysicsQGSP_FTFP_BERT_95 (G4int verbose=1) | |
HadronPhysicsQGSP_FTFP_BERT_95 (const G4String &name, G4bool quasiElastic=true) | |
virtual | ~HadronPhysicsQGSP_FTFP_BERT_95 () |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
void | SetQuasiElastic (G4bool value) |
void | SetProjectileDiffraction (G4bool value) |
Definition at line 70 of file HadronPhysicsQGSP_FTFP_BERT_95.hh.
HadronPhysicsQGSP_FTFP_BERT_95::HadronPhysicsQGSP_FTFP_BERT_95 | ( | G4int | verbose = 1 |
) |
Definition at line 68 of file HadronPhysicsQGSP_FTFP_BERT_95.cc.
00069 : G4VPhysicsConstructor("hInelastic QGSP_FTFP_BERT_95") 00070 , theNeutrons(0) 00071 , theFTFPNeutron(0) 00072 , theQGSPNeutron(0) 00073 , theBertiniNeutron(0) 00074 , theLEPNeutron(0) 00075 , thePiK(0) 00076 , theFTFPPiK(0) 00077 , theQGSPPiK(0) 00078 , theBertiniPiK(0) 00079 , thePro(0) 00080 , theFTFPPro(0) 00081 , theQGSPPro(0) 00082 , theBertiniPro(0) 00083 , theHyperon(0) 00084 , theAntiBaryon(0) 00085 , theFTFPAntiBaryon(0) 00086 , QuasiElastic(true) 00087 , ProjectileDiffraction(false) 00088 , xsBarashenkovGGPion(0) 00089 , xsChipsKaonMinus(0) 00090 , xsChipsKaonPlus(0) 00091 , xsChipsKaonZero(0) 00092 , xsAxenWellischGGProton(0) 00093 , xsLaidlawWellischGGNeutron(0) 00094 , xsChipsHyperons(0) 00095 , xsGaloyanUzhinskyAntibaryon(0) 00096 { 00097 }
HadronPhysicsQGSP_FTFP_BERT_95::HadronPhysicsQGSP_FTFP_BERT_95 | ( | const G4String & | name, | |
G4bool | quasiElastic = true | |||
) |
Definition at line 99 of file HadronPhysicsQGSP_FTFP_BERT_95.cc.
00101 : G4VPhysicsConstructor("hInelastic QGSP_FTFP_BERT_95") 00102 , theNeutrons(0) 00103 , theFTFPNeutron(0) 00104 , theQGSPNeutron(0) 00105 , theBertiniNeutron(0) 00106 , theLEPNeutron(0) 00107 , thePiK(0) 00108 , theFTFPPiK(0) 00109 , theQGSPPiK(0) 00110 , theBertiniPiK(0) 00111 , thePro(0) 00112 , theFTFPPro(0) 00113 , theQGSPPro(0) 00114 , theBertiniPro(0) 00115 , theHyperon(0) 00116 , theAntiBaryon(0) 00117 , theFTFPAntiBaryon(0) 00118 , QuasiElastic(quasiElastic) 00119 , ProjectileDiffraction(false) 00120 , xsBarashenkovGGPion(0) 00121 , xsChipsKaonMinus(0) 00122 , xsChipsKaonPlus(0) 00123 , xsChipsKaonZero(0) 00124 , xsAxenWellischGGProton(0) 00125 , xsLaidlawWellischGGNeutron(0) 00126 , xsChipsHyperons(0) 00127 , xsGaloyanUzhinskyAntibaryon(0) 00128 { 00129 }
HadronPhysicsQGSP_FTFP_BERT_95::~HadronPhysicsQGSP_FTFP_BERT_95 | ( | ) | [virtual] |
Definition at line 194 of file HadronPhysicsQGSP_FTFP_BERT_95.cc.
00195 { 00196 delete theQGSPNeutron; 00197 delete theFTFPNeutron; 00198 delete theBertiniNeutron; 00199 delete theNeutrons; 00200 00201 delete theQGSPPro; 00202 delete theFTFPPro; 00203 delete thePro; 00204 delete theBertiniPro; 00205 00206 delete theQGSPPiK; 00207 delete theFTFPPiK; 00208 delete theBertiniPiK; 00209 delete thePiK; 00210 00211 delete theHyperon; 00212 delete theAntiBaryon; 00213 delete theFTFPAntiBaryon; 00214 00215 delete xsBarashenkovGGPion; 00216 delete xsAxenWellischGGProton; 00217 delete xsLaidlawWellischGGNeutron; 00218 delete xsGaloyanUzhinskyAntibaryon; 00219 }
void HadronPhysicsQGSP_FTFP_BERT_95::ConstructParticle | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 221 of file HadronPhysicsQGSP_FTFP_BERT_95.cc.
References G4IonConstructor::ConstructParticle(), G4ShortLivedConstructor::ConstructParticle(), G4BaryonConstructor::ConstructParticle(), and G4MesonConstructor::ConstructParticle().
00222 { 00223 G4MesonConstructor pMesonConstructor; 00224 pMesonConstructor.ConstructParticle(); 00225 00226 G4BaryonConstructor pBaryonConstructor; 00227 pBaryonConstructor.ConstructParticle(); 00228 00229 G4ShortLivedConstructor pShortLivedConstructor; 00230 pShortLivedConstructor.ConstructParticle(); 00231 00232 G4IonConstructor pIonConstructor; 00233 pIonConstructor.ConstructParticle(); 00234 }
void HadronPhysicsQGSP_FTFP_BERT_95::ConstructProcess | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 237 of file HadronPhysicsQGSP_FTFP_BERT_95.cc.
References G4HadronicProcess::AddDataSet(), G4AntiAlpha::AntiAlpha(), G4AntiDeuteron::AntiDeuteron(), G4AntiHe3::AntiHe3(), G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiTriton::AntiTriton(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4AntiBarionBuilder::Build(), G4HyperonFTFPBuilder::Build(), G4PiKBuilder::Build(), G4ProtonBuilder::Build(), G4NeutronBuilder::Build(), G4ChipsHyperonInelasticXS::Default_Name(), G4ChipsKaonZeroInelasticXS::Default_Name(), G4ChipsKaonPlusInelasticXS::Default_Name(), G4ChipsKaonMinusInelasticXS::Default_Name(), G4PhysListUtil::FindInelasticProcess(), G4CrossSectionDataSetRegistry::GetCrossSectionDataSet(), G4CrossSectionDataSetRegistry::Instance(), G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), G4Lambda::Lambda(), G4Neutron::Neutron(), G4OmegaMinus::OmegaMinus(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4Proton::Proton(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4XiMinus::XiMinus(), and G4XiZero::XiZero().
00238 { 00239 CreateModels(); 00240 theNeutrons->Build(); 00241 thePro->Build(); 00242 thePiK->Build(); 00243 theHyperon->Build(); 00244 theAntiBaryon->Build(); 00245 00246 // Inelastic cross sections 00247 00248 // --- Pions --- 00249 // Use Barashenkov inelastic pion cross section up to 91 GeV, 00250 // and Glauber-Gribov above 00251 xsBarashenkovGGPion = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); 00252 G4PhysListUtil::FindInelasticProcess(G4PionPlus::PionPlus())->AddDataSet(xsBarashenkovGGPion); 00253 G4PhysListUtil::FindInelasticProcess(G4PionMinus::PionMinus())->AddDataSet(xsBarashenkovGGPion); 00254 00255 // --- Kaons --- 00256 // Use Chips inelastic kaon cross sections 00257 xsChipsKaonMinus = G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusInelasticXS::Default_Name()); 00258 xsChipsKaonPlus = G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusInelasticXS::Default_Name()); 00259 xsChipsKaonZero = G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name()); 00260 G4PhysListUtil::FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(xsChipsKaonMinus); 00261 G4PhysListUtil::FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(xsChipsKaonPlus); 00262 G4PhysListUtil::FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(xsChipsKaonZero); 00263 G4PhysListUtil::FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(xsChipsKaonZero); 00264 00265 // --- Protons --- 00266 // Use Axen-Wellisch inelastic proton cross section up to 91 GeV, 00267 // and Glauber-Gribov above 00268 xsAxenWellischGGProton = new G4CrossSectionPairGG(new G4ProtonInelasticCrossSection(), 91*GeV); 00269 G4PhysListUtil::FindInelasticProcess(G4Proton::Proton())->AddDataSet(xsAxenWellischGGProton); 00270 00271 // --- Neutrons --- 00272 // Use Laidlaw-Wellisch inelastic neutron cross section up to 91 GeV, 00273 // and Glauber-Gribov above 00274 xsLaidlawWellischGGNeutron = new G4CrossSectionPairGG(new G4NeutronInelasticCrossSection(), 91*GeV); 00275 G4PhysListUtil::FindInelasticProcess(G4Neutron::Neutron())->AddDataSet(xsLaidlawWellischGGNeutron); 00276 00277 // --- Hyperons --- 00278 // Use Chips inelastic hyperon cross sections 00279 xsChipsHyperons = G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsHyperonInelasticXS::Default_Name()); 00280 G4PhysListUtil::FindInelasticProcess(G4Lambda::Lambda())->AddDataSet(xsChipsHyperons); 00281 G4PhysListUtil::FindInelasticProcess(G4AntiLambda::AntiLambda())->AddDataSet(xsChipsHyperons); 00282 G4PhysListUtil::FindInelasticProcess(G4SigmaMinus::SigmaMinus())->AddDataSet(xsChipsHyperons); 00283 G4PhysListUtil::FindInelasticProcess(G4AntiSigmaMinus::AntiSigmaMinus())->AddDataSet(xsChipsHyperons); 00284 G4PhysListUtil::FindInelasticProcess(G4SigmaPlus::SigmaPlus())->AddDataSet(xsChipsHyperons); 00285 G4PhysListUtil::FindInelasticProcess(G4AntiSigmaPlus::AntiSigmaPlus())->AddDataSet(xsChipsHyperons); 00286 G4PhysListUtil::FindInelasticProcess(G4XiMinus::XiMinus())->AddDataSet(xsChipsHyperons); 00287 G4PhysListUtil::FindInelasticProcess(G4AntiXiMinus::AntiXiMinus())->AddDataSet(xsChipsHyperons); 00288 G4PhysListUtil::FindInelasticProcess(G4XiZero::XiZero())->AddDataSet(xsChipsHyperons); 00289 G4PhysListUtil::FindInelasticProcess(G4AntiXiZero::AntiXiZero())->AddDataSet(xsChipsHyperons); 00290 G4PhysListUtil::FindInelasticProcess(G4OmegaMinus::OmegaMinus())->AddDataSet(xsChipsHyperons); 00291 G4PhysListUtil::FindInelasticProcess(G4AntiOmegaMinus::AntiOmegaMinus())->AddDataSet(xsChipsHyperons); 00292 00293 // --- AntiBaryons --- 00294 // Use Galoyan-Uzhinsky antibaryon cross sections based on 00295 // Glauber-Grichine approach 00296 xsGaloyanUzhinskyAntibaryon = new G4CrossSectionInelastic(new G4ComponentAntiNuclNuclearXS()); 00297 G4PhysListUtil::FindInelasticProcess(G4AntiProton::AntiProton())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00298 G4PhysListUtil::FindInelasticProcess(G4AntiNeutron::AntiNeutron())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00299 G4PhysListUtil::FindInelasticProcess(G4AntiDeuteron::AntiDeuteron())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00300 G4PhysListUtil::FindInelasticProcess(G4AntiTriton::AntiTriton())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00301 G4PhysListUtil::FindInelasticProcess(G4AntiHe3::AntiHe3())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00302 G4PhysListUtil::FindInelasticProcess(G4AntiAlpha::AntiAlpha())->AddDataSet(xsGaloyanUzhinskyAntibaryon); 00303 00304 }
void HadronPhysicsQGSP_FTFP_BERT_95::SetProjectileDiffraction | ( | G4bool | value | ) | [inline] |
void HadronPhysicsQGSP_FTFP_BERT_95::SetQuasiElastic | ( | G4bool | value | ) | [inline] |