6 #include "G4ParticleDefinition.hh"
7 #include "G4ParticleTable.hh"
9 #include "G4MesonConstructor.hh"
10 #include "G4BaryonConstructor.hh"
11 #include "G4ShortLivedConstructor.hh"
14 : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic)
22 G4double minFTFP= 6.0 * GeV;
23 G4double maxBERT= 8.0 * GeV;
25 G4double minQGSP= 12.0 * GeV;
26 G4double maxFTFP= 25.0 * GeV;
28 G4bool quasiElasFTF=
false;
29 G4bool quasiElasQGS=
true;
31 G4cout <<
" New QGSPCMS_FTFP_BERT physics list, replaces LEP with FTF/P for p/n/pi (/K?)";
32 G4cout <<
" Thresholds: " << G4endl;
33 G4cout <<
" 1) between BERT and FTF/P over the interval "
34 << minFTFP/GeV <<
" to " << maxBERT/GeV <<
" GeV. " << G4endl;
35 G4cout <<
" 2) between FTF/P and QGS/P over the interval "
36 << minQGSP/GeV <<
" to " << maxFTFP/GeV <<
" GeV. " << G4endl;
37 G4cout <<
" -- quasiElastic was asked to be " <<
QuasiElastic << G4endl
38 <<
" Changed to " << quasiElasQGS <<
" for QGS "
39 <<
" and to " << quasiElasFTF <<
" (must be false) for FTF" << G4endl;
57 thePro=
new G4ProtonBuilder;
98 G4MesonConstructor pMesonConstructor;
99 pMesonConstructor.ConstructParticle();
101 G4BaryonConstructor pBaryonConstructor;
102 pBaryonConstructor.ConstructParticle();
104 G4ShortLivedConstructor pShortLivedConstructor;
105 pShortLivedConstructor.ConstructParticle();
108 #include "G4ProcessManager.hh"
virtual ~HadronPhysicsQGSPCMS_FTFP_BERT()
CMSFTFPNeutronBuilder * theFTFPNeutron
G4LEPNeutronBuilder * theLEPNeutron
G4QGSPPiKBuilder * theQGSPPiK
G4QGSPProtonBuilder * theQGSPPro
G4BertiniProtonBuilder * theBertiniPro
virtual void ConstructProcess()
G4BertiniPiKBuilder * theBertiniPiK
CMSFTFPProtonBuilder * theFTFPPro
G4bool ProjectileDiffraction
G4MiscLHEPBuilder * theMiscLHEP
HadronPhysicsQGSPCMS_FTFP_BERT(const G4String &name="hadron", G4bool quasiElastic=true)
virtual void ConstructParticle()
CMSFTFPPiKBuilder * theFTFPPiK
G4BertiniNeutronBuilder * theBertiniNeutron
G4QGSPNeutronBuilder * theQGSPNeutron
G4NeutronBuilder * theNeutrons