1 #include "SimG4Core/PhysicsLists/interface/HadronPhysicsFTFP.hh"
6 #include "G4ParticleDefinition.hh"
7 #include "G4ParticleTable.hh"
9 #include "G4MesonConstructor.hh"
10 #include "G4BaryonConstructor.hh"
11 #include "G4ShortLivedConstructor.hh"
13 HadronPhysicsFTFP::HadronPhysicsFTFP(G4int)
14 : G4VPhysicsConstructor(
"hInelastic FTFP")
18 HadronPhysicsFTFP::HadronPhysicsFTFP(
const G4String&
name, G4bool quasiElastic)
19 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic)
22 void HadronPhysicsFTFP::CreateModels()
25 theNeutrons=
new G4NeutronBuilder;
26 theFTFPNeutron=
new G4FTFPNeutronBuilder(QuasiElastic);
27 theNeutrons->RegisterMe(theFTFPNeutron);
28 theNeutrons->RegisterMe(theLEPNeutron=
new G4LEPNeutronBuilder);
29 theLEPNeutron->SetMaxInelasticEnergy(5*GeV);
31 thePro=
new G4ProtonBuilder;
32 theFTFPPro=
new G4FTFPProtonBuilder(QuasiElastic);
33 thePro->RegisterMe(theFTFPPro);
34 thePro->RegisterMe(theLEPPro=
new G4LEPProtonBuilder);
35 theLEPPro->SetMaxEnergy(5*GeV);
37 thePiK=
new G4PiKBuilder;
38 theFTFPPiK=
new G4FTFPPiKBuilder(QuasiElastic);
39 thePiK->RegisterMe(theFTFPPiK);
40 thePiK->RegisterMe(theLEPPiK=
new G4LEPPiKBuilder);
41 theLEPPiK->SetMaxEnergy(5*GeV);
43 theMiscLHEP=
new G4MiscLHEPBuilder;
46 HadronPhysicsFTFP::~HadronPhysicsFTFP()
50 delete theFTFPNeutron;
63 void HadronPhysicsFTFP::ConstructParticle()
65 G4MesonConstructor pMesonConstructor;
66 pMesonConstructor.ConstructParticle();
68 G4BaryonConstructor pBaryonConstructor;
69 pBaryonConstructor.ConstructParticle();
71 G4ShortLivedConstructor pShortLivedConstructor;
72 pShortLivedConstructor.ConstructParticle();
75 #include "G4ProcessManager.hh"
76 void HadronPhysicsFTFP::ConstructProcess()