1 #include "SimG4Core/PhysicsLists/interface/HadronPhysicsQGSP_BERT_NOLEP1.hh"
6 #include "G4ParticleDefinition.hh"
7 #include "G4ParticleTable.hh"
9 #include "G4MesonConstructor.hh"
10 #include "G4BaryonConstructor.hh"
11 #include "G4ShortLivedConstructor.hh"
13 HadronPhysicsQGSP_BERT_NOLEP1::HadronPhysicsQGSP_BERT_NOLEP1(
const G4String&
name, G4bool quasiElastic)
14 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {
15 ProjectileDiffraction=
false;
18 void HadronPhysicsQGSP_BERT_NOLEP1::CreateModels() {
20 theNeutrons=
new G4NeutronBuilder;
21 theNeutrons->RegisterMe(theQGSPNeutron=
new G4QGSPNeutronBuilder(QuasiElastic, ProjectileDiffraction));
22 theQGSPNeutron->SetMinEnergy(8.5*GeV);
23 theNeutrons->RegisterMe(theLEPNeutron=
new G4LEPNeutronBuilder);
25 theLEPNeutron->SetMinInelasticEnergy(0.*eV);
26 theLEPNeutron->SetMaxInelasticEnergy(0.*eV);
28 theNeutrons->RegisterMe(theBertiniNeutron=
new G4BertiniNeutronBuilder);
29 theBertiniNeutron->SetMinEnergy(0.0*GeV);
30 theBertiniNeutron->SetMaxEnergy(9.9*GeV);
32 thePro=
new G4ProtonBuilder;
33 thePro->RegisterMe(theQGSPPro=
new G4QGSPProtonBuilder(QuasiElastic, ProjectileDiffraction));
34 theQGSPPro->SetMinEnergy(8.5*GeV);
36 thePro->RegisterMe(theBertiniPro=
new G4BertiniProtonBuilder);
37 theBertiniPro->SetMaxEnergy(9.9*GeV);
39 thePiK=
new G4PiKBuilder;
40 thePiK->RegisterMe(theQGSPPiK=
new G4QGSPPiKBuilder(QuasiElastic));
41 theQGSPPiK->SetMinEnergy(8.5*GeV);
43 thePiK->RegisterMe(theBertiniPiK=
new G4BertiniPiKBuilder);
44 theBertiniPiK->SetMaxEnergy(9.9*GeV);
46 theMiscLHEP=
new G4MiscLHEPBuilder;
49 HadronPhysicsQGSP_BERT_NOLEP1::~HadronPhysicsQGSP_BERT_NOLEP1() {
51 delete theQGSPNeutron;
53 delete theBertiniNeutron;
62 void HadronPhysicsQGSP_BERT_NOLEP1::ConstructParticle() {
63 G4MesonConstructor pMesonConstructor;
64 pMesonConstructor.ConstructParticle();
66 G4BaryonConstructor pBaryonConstructor;
67 pBaryonConstructor.ConstructParticle();
69 G4ShortLivedConstructor pShortLivedConstructor;
70 pShortLivedConstructor.ConstructParticle();
73 #include "G4ProcessManager.hh"
74 void HadronPhysicsQGSP_BERT_NOLEP1::ConstructProcess() {