1 #include "SimG4Core/PhysicsLists/interface/HadronPhysicsQGSC.hh"
6 #include "G4ParticleDefinition.hh"
7 #include "G4ParticleTable.hh"
9 #include "G4MesonConstructor.hh"
10 #include "G4BaryonConstructor.hh"
11 #include "G4ShortLivedConstructor.hh"
13 HadronPhysicsQGSC::HadronPhysicsQGSC(G4int)
14 : G4VPhysicsConstructor(
"hInelastic QGSC")
18 HadronPhysicsQGSC::HadronPhysicsQGSC(
const G4String&
name, G4bool quasiElastic)
19 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic)
22 void HadronPhysicsQGSC::CreateModels()
24 theNeutrons=
new G4NeutronBuilder;
25 theNeutrons->RegisterMe(theQGSCNeutron=
new G4QGSCNeutronBuilder(QuasiElastic));
26 theNeutrons->RegisterMe(theLEPNeutron=
new G4LEPNeutronBuilder);
27 theLEPNeutron->SetMaxInelasticEnergy(25*GeV);
29 thePro=
new G4ProtonBuilder;
30 thePro->RegisterMe(theQGSCPro=
new G4QGSCProtonBuilder(QuasiElastic));
31 thePro->RegisterMe(theLEPPro=
new G4LEPProtonBuilder);
32 theLEPPro->SetMaxEnergy(25*GeV);
34 thePiK=
new G4PiKBuilder;
35 thePiK->RegisterMe(theQGSCPiK=
new G4QGSCPiKBuilder(QuasiElastic));
36 thePiK->RegisterMe(theLEPPiK=
new G4LEPPiKBuilder);
37 theLEPPiK->SetMaxEnergy(25*GeV);
39 theMiscLHEP=
new G4MiscLHEPBuilder;
42 HadronPhysicsQGSC::~HadronPhysicsQGSC()
48 delete theQGSCNeutron;
55 void HadronPhysicsQGSC::ConstructParticle()
57 G4MesonConstructor pMesonConstructor;
58 pMesonConstructor.ConstructParticle();
60 G4BaryonConstructor pBaryonConstructor;
61 pBaryonConstructor.ConstructParticle();
63 G4ShortLivedConstructor pShortLivedConstructor;
64 pShortLivedConstructor.ConstructParticle();
67 #include "G4ProcessManager.hh"
68 void HadronPhysicsQGSC::ConstructProcess()