HadronPhysicsQGSP_BERT_95 Class Reference

#include <HadronPhysicsQGSP_BERT_95.hh>

Inheritance diagram for HadronPhysicsQGSP_BERT_95:

G4VPhysicsConstructor

Public Member Functions

 HadronPhysicsQGSP_BERT_95 (G4int verbose=1)
 HadronPhysicsQGSP_BERT_95 (const G4String &name, G4bool quasiElastic=true)
virtual ~HadronPhysicsQGSP_BERT_95 ()
virtual void ConstructParticle ()
virtual void ConstructProcess ()
void SetQuasiElastic (G4bool value)
void SetProjectileDiffraction (G4bool value)

Detailed Description

Definition at line 66 of file HadronPhysicsQGSP_BERT_95.hh.


Constructor & Destructor Documentation

HadronPhysicsQGSP_BERT_95::HadronPhysicsQGSP_BERT_95 ( G4int  verbose = 1  ) 

Definition at line 62 of file HadronPhysicsQGSP_BERT_95.cc.

00063     :  G4VPhysicsConstructor("hInelastic QGSP_BERT_95")
00064     , theNeutrons(0)
00065     , theLEPNeutron(0)
00066     , theQGSPNeutron(0)
00067     , theBertiniNeutron(0)
00068     , thePiK(0)
00069     , theLEPPiK(0)
00070     , theQGSPPiK(0)
00071     , theBertiniPiK(0)
00072     , thePro(0)
00073     , theLEPPro(0)
00074     , theQGSPPro(0) 
00075     , theBertiniPro(0)
00076     , theMiscLHEP(0)
00077     , QuasiElastic(true)
00078     , ProjectileDiffraction(false)
00079     , xsBarashenkovGGPion(0)
00080     , xsGeisha(0)
00081     , xsAxenWellischGGProton(0)
00082     , xsLaidlawWellischGGNeutron(0)
00083 {
00084 }

HadronPhysicsQGSP_BERT_95::HadronPhysicsQGSP_BERT_95 ( const G4String name,
G4bool  quasiElastic = true 
)

Definition at line 86 of file HadronPhysicsQGSP_BERT_95.cc.

00087     :  G4VPhysicsConstructor(name)
00088     , theNeutrons(0)
00089     , theLEPNeutron(0)
00090     , theQGSPNeutron(0)
00091     , theBertiniNeutron(0)
00092     , thePiK(0)
00093     , theLEPPiK(0)
00094     , theQGSPPiK(0)
00095     , theBertiniPiK(0)
00096     , thePro(0)
00097     , theLEPPro(0)
00098     , theQGSPPro(0) 
00099     , theBertiniPro(0)
00100     , theMiscLHEP(0)
00101     , QuasiElastic(quasiElastic)
00102     , ProjectileDiffraction(false)
00103     , xsBarashenkovGGPion(0)
00104     , xsGeisha(0)
00105     , xsAxenWellischGGProton(0)
00106     , xsLaidlawWellischGGNeutron(0)
00107 {
00108 }

HadronPhysicsQGSP_BERT_95::~HadronPhysicsQGSP_BERT_95 (  )  [virtual]

Definition at line 143 of file HadronPhysicsQGSP_BERT_95.cc.

00144 {
00145    delete theMiscLHEP;
00146    delete theQGSPNeutron;
00147    delete theLEPNeutron;
00148    delete theNeutrons;
00149    delete theBertiniNeutron;
00150    delete theQGSPPro;
00151    delete theLEPPro;
00152    delete thePro;
00153    delete theBertiniPro;
00154    delete theQGSPPiK;
00155    delete theLEPPiK;
00156    delete theBertiniPiK;
00157    delete thePiK;
00158 
00159    delete xsBarashenkovGGPion;
00160    delete xsGeisha;
00161    delete xsAxenWellischGGProton;
00162    delete xsLaidlawWellischGGNeutron;
00163 }


Member Function Documentation

void HadronPhysicsQGSP_BERT_95::ConstructParticle (  )  [virtual]

Implements G4VPhysicsConstructor.

Definition at line 165 of file HadronPhysicsQGSP_BERT_95.cc.

References G4ShortLivedConstructor::ConstructParticle(), G4BaryonConstructor::ConstructParticle(), and G4MesonConstructor::ConstructParticle().

00166 {
00167   G4MesonConstructor pMesonConstructor;
00168   pMesonConstructor.ConstructParticle();
00169 
00170   G4BaryonConstructor pBaryonConstructor;
00171   pBaryonConstructor.ConstructParticle();
00172 
00173   G4ShortLivedConstructor pShortLivedConstructor;
00174   pShortLivedConstructor.ConstructParticle();  
00175 }

void HadronPhysicsQGSP_BERT_95::ConstructProcess (  )  [virtual]

Implements G4VPhysicsConstructor.

Definition at line 178 of file HadronPhysicsQGSP_BERT_95.cc.

References G4HadronicProcess::AddDataSet(), G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4MiscLHEPBuilder::Build(), G4PiKBuilder::Build(), G4ProtonBuilder::Build(), G4NeutronBuilder::Build(), G4PhysListUtil::FindInelasticProcess(), 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().

00179 {
00180   CreateModels();
00181   theNeutrons->Build();
00182   thePro->Build();
00183   thePiK->Build();
00184   theMiscLHEP->Build();
00185 
00186   // Inelastic cross sections
00187 
00188   // --- Pions ---
00189   // Use Barashenkov inelastic pion cross section up to 91 GeV, 
00190   // and Glauber-Gribov above
00191   xsBarashenkovGGPion = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV);
00192   G4PhysListUtil::FindInelasticProcess(G4PionPlus::PionPlus())->AddDataSet(xsBarashenkovGGPion);
00193   G4PhysListUtil::FindInelasticProcess(G4PionMinus::PionMinus())->AddDataSet(xsBarashenkovGGPion);
00194 
00195   // --- Kaons ---
00196   // Use Geisha inelastic cross sections
00197   xsGeisha = new G4HadronInelasticDataSet();
00198   G4PhysListUtil::FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(xsGeisha);
00199   G4PhysListUtil::FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(xsGeisha);
00200   G4PhysListUtil::FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(xsGeisha);
00201   G4PhysListUtil::FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(xsGeisha);
00202 
00203   // --- Protons ---
00204   // Use Axen-Wellisch inelastic proton cross section up to 91 GeV,
00205   // and Glauber-Gribov above
00206   xsAxenWellischGGProton = new G4CrossSectionPairGG(new G4ProtonInelasticCrossSection(), 91*GeV); 
00207   G4PhysListUtil::FindInelasticProcess(G4Proton::Proton())->AddDataSet(xsAxenWellischGGProton);
00208 
00209   // --- Neutrons ---
00210   // Use Laidlaw-Wellisch inelastic neutron cross section up to 91 GeV,
00211   // and Glauber-Gribov above
00212   xsLaidlawWellischGGNeutron = new G4CrossSectionPairGG(new G4NeutronInelasticCrossSection(), 91*GeV);
00213   G4PhysListUtil::FindInelasticProcess(G4Neutron::Neutron())->AddDataSet(xsLaidlawWellischGGNeutron);
00214 
00215   // --- Hyperons ---
00216   // Use Geisha inelastic cross sections
00217   G4PhysListUtil::FindInelasticProcess(G4Lambda::Lambda())->AddDataSet(xsGeisha);
00218   G4PhysListUtil::FindInelasticProcess(G4AntiLambda::AntiLambda())->AddDataSet(xsGeisha);
00219   G4PhysListUtil::FindInelasticProcess(G4SigmaMinus::SigmaMinus())->AddDataSet(xsGeisha);
00220   G4PhysListUtil::FindInelasticProcess(G4AntiSigmaMinus::AntiSigmaMinus())->AddDataSet(xsGeisha);
00221   G4PhysListUtil::FindInelasticProcess(G4SigmaPlus::SigmaPlus())->AddDataSet(xsGeisha);
00222   G4PhysListUtil::FindInelasticProcess(G4AntiSigmaPlus::AntiSigmaPlus())->AddDataSet(xsGeisha);
00223   G4PhysListUtil::FindInelasticProcess(G4XiMinus::XiMinus())->AddDataSet(xsGeisha);
00224   G4PhysListUtil::FindInelasticProcess(G4AntiXiMinus::AntiXiMinus())->AddDataSet(xsGeisha);
00225   G4PhysListUtil::FindInelasticProcess(G4XiZero::XiZero())->AddDataSet(xsGeisha);
00226   G4PhysListUtil::FindInelasticProcess(G4AntiXiZero::AntiXiZero())->AddDataSet(xsGeisha);
00227   G4PhysListUtil::FindInelasticProcess(G4OmegaMinus::OmegaMinus())->AddDataSet(xsGeisha);
00228   G4PhysListUtil::FindInelasticProcess(G4AntiOmegaMinus::AntiOmegaMinus())->AddDataSet(xsGeisha);
00229 
00230   // --- AntiBaryons ---
00231   // Use Geisha inelastic cross sections
00232   G4PhysListUtil::FindInelasticProcess(G4AntiProton::AntiProton())->AddDataSet(xsGeisha);
00233   G4PhysListUtil::FindInelasticProcess(G4AntiNeutron::AntiNeutron())->AddDataSet(xsGeisha);
00234 
00235 }

void HadronPhysicsQGSP_BERT_95::SetProjectileDiffraction ( G4bool  value  )  [inline]

Definition at line 78 of file HadronPhysicsQGSP_BERT_95.hh.

00078 {ProjectileDiffraction = value;}; 

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

Definition at line 77 of file HadronPhysicsQGSP_BERT_95.hh.

00077 {QuasiElastic = value;}; 


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