HadronPhysicsQGSP_FTFP_BERT_95 Class Reference

#include <HadronPhysicsQGSP_FTFP_BERT_95.hh>

Inheritance diagram for HadronPhysicsQGSP_FTFP_BERT_95:

G4VPhysicsConstructor

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)

Detailed Description

Definition at line 70 of file HadronPhysicsQGSP_FTFP_BERT_95.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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]

Definition at line 82 of file HadronPhysicsQGSP_FTFP_BERT_95.hh.

00082 {ProjectileDiffraction = value;}; 

void HadronPhysicsQGSP_FTFP_BERT_95::SetQuasiElastic ( G4bool  value  )  [inline]

Definition at line 81 of file HadronPhysicsQGSP_FTFP_BERT_95.hh.

00081 {QuasiElastic = value;}; 


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:03 2013 for Geant4 by  doxygen 1.4.7