49#include "G4ParticleDefinition.hh"
50#include "G4ParticleTable.hh"
52#include "G4MesonConstructor.hh"
53#include "G4BaryonConstructor.hh"
54#include "G4ShortLivedConstructor.hh"
57 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic)
59 ProjectileDiffraction=
false;
62void HadronPhysicsQGSP_BERT_CHIPS::CreateModels()
64 theNeutrons=
new G4NeutronBuilder;
65 theNeutrons->RegisterMe(theQGSPNeutron=
new G4QGSPNeutronBuilder(QuasiElastic, ProjectileDiffraction));
66 theNeutrons->RegisterMe(theLEPNeutron=
new G4LEPNeutronBuilder);
67 theLEPNeutron->SetMinInelasticEnergy(9.5*GeV);
68 theLEPNeutron->SetMaxInelasticEnergy(25*GeV);
70 theNeutrons->RegisterMe(theBertiniNeutron=
new G4BertiniNeutronBuilder);
71 theBertiniNeutron->SetMinEnergy(0.0*GeV);
72 theBertiniNeutron->SetMaxEnergy(9.9*GeV);
74 thePro=
new G4ProtonBuilder;
75 thePro->RegisterMe(theQGSPPro=
new G4QGSPProtonBuilder(QuasiElastic, ProjectileDiffraction));
76 thePro->RegisterMe(theLEPPro=
new G4LEPProtonBuilder);
77 theLEPPro->SetMinEnergy(9.5*GeV);
78 theLEPPro->SetMaxEnergy(25*GeV);
80 thePro->RegisterMe(theBertiniPro=
new G4BertiniProtonBuilder);
81 theBertiniPro->SetMaxEnergy(9.9*GeV);
83 thePiK=
new G4PiKBuilder;
84 thePiK->RegisterMe(theQGSPPiK=
new G4QGSPPiKBuilder(QuasiElastic));
85 thePiK->RegisterMe(theLEPPiK=
new G4LEPPiKBuilder);
86 theLEPPiK->SetMaxEnergy(25*GeV);
87 theLEPPiK->SetMinEnergy(9.5*GeV);
89 thePiK->RegisterMe(theBertiniPiK=
new G4BertiniPiKBuilder);
90 theBertiniPiK->SetMaxEnergy(9.9*GeV);
98 delete theQGSPNeutron;
100 delete theBertiniNeutron;
104 delete theBertiniPro;
107 delete theBertiniPiK;
113 G4MesonConstructor pMesonConstructor;
114 pMesonConstructor.ConstructParticle();
116 G4BaryonConstructor pBaryonConstructor;
117 pBaryonConstructor.ConstructParticle();
119 G4ShortLivedConstructor pShortLivedConstructor;
120 pShortLivedConstructor.ConstructParticle();
123#include "G4ProcessManager.hh"
127 theNeutrons->Build();
130 theMiscLHEP->
Build();
virtual void ConstructParticle()
HadronPhysicsQGSP_BERT_CHIPS(const G4String &name="hadron", G4bool quasiElastic=true)
virtual void ConstructProcess()
virtual ~HadronPhysicsQGSP_BERT_CHIPS()