1 #include "SimG4Core/PhysicsLists/interface/HadronPhysicsQGSB_BERT_NOLEP1.hh"
6 #include "G4ParticleDefinition.hh"
7 #include "G4ParticleTable.hh"
9 #include "G4MesonConstructor.hh"
10 #include "G4BaryonConstructor.hh"
11 #include "G4ShortLivedConstructor.hh"
13 HadronPhysicsQGSB_BERT_NOLEP1::HadronPhysicsQGSB_BERT_NOLEP1(
const G4String&
name, G4bool quasiElastic)
14 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {
17 void HadronPhysicsQGSB_BERT_NOLEP1::CreateModels() {
19 theNeutrons=
new G4NeutronBuilder;
20 theNeutrons->RegisterMe(theQGSBinaryNeutron=
new G4QGSBinaryNeutronBuilder(QuasiElastic));
21 theQGSBinaryNeutron->SetMinEnergy(8.5*GeV);
22 theNeutrons->RegisterMe(theLEPNeutron=
new G4LEPNeutronBuilder);
24 theLEPNeutron->SetMinInelasticEnergy(0.*eV);
25 theLEPNeutron->SetMaxInelasticEnergy(0.*eV);
26 theNeutrons->RegisterMe(theBertiniNeutron=
new G4BertiniNeutronBuilder);
27 theBertiniNeutron->SetMinEnergy(0.0*GeV);
28 theBertiniNeutron->SetMaxEnergy(9.9*GeV);
30 thePro=
new G4ProtonBuilder;
31 thePro->RegisterMe(theQGSBinaryPro=
new G4QGSBinaryProtonBuilder(QuasiElastic));
32 theQGSBinaryPro->SetMinEnergy(8.5*GeV);
33 thePro->RegisterMe(theBertiniPro=
new G4BertiniProtonBuilder);
34 theBertiniPro->SetMaxEnergy(9.9*GeV);
36 thePiK=
new G4PiKBuilder;
37 thePiK->RegisterMe(theQGSBinaryPiK=
new G4QGSBinaryPiKBuilder(QuasiElastic));
38 theQGSBinaryPiK->SetMinEnergy(8.5*GeV);
40 thePiK->RegisterMe(theBertiniPiK=
new G4BertiniPiKBuilder);
41 theBertiniPiK->SetMaxEnergy(9.9*GeV);
43 theMiscLHEP=
new G4MiscLHEPBuilder;
46 HadronPhysicsQGSB_BERT_NOLEP1::~HadronPhysicsQGSB_BERT_NOLEP1() {
48 delete theQGSBinaryNeutron;
50 delete theBertiniNeutron;
51 delete theQGSBinaryPro;
54 delete theQGSBinaryPiK;
59 void HadronPhysicsQGSB_BERT_NOLEP1::ConstructParticle() {
60 G4MesonConstructor pMesonConstructor;
61 pMesonConstructor.ConstructParticle();
63 G4BaryonConstructor pBaryonConstructor;
64 pBaryonConstructor.ConstructParticle();
66 G4ShortLivedConstructor pShortLivedConstructor;
67 pShortLivedConstructor.ConstructParticle();
70 #include "G4ProcessManager.hh"
71 void HadronPhysicsQGSB_BERT_NOLEP1::ConstructProcess() {