5 #include "G4EmStandardPhysics.hh"
6 #include "G4DecayPhysics.hh"
7 #include "G4EmExtraPhysics.hh"
8 #include "G4StoppingPhysics.hh"
9 #include "G4HadronicProcessStore.hh"
11 #include "G4HadronInelasticQBBC.hh"
12 #include "G4HadronElasticPhysicsXS.hh"
13 #include "G4IonPhysics.hh"
14 #include "G4NeutronTrackingCut.hh"
17 int ver =
p.getUntrackedParameter<
int>(
"Verbosity", 0);
18 bool emPhys =
p.getUntrackedParameter<
bool>(
"EMPhysics",
true);
19 bool hadPhys =
p.getUntrackedParameter<
bool>(
"HadPhysics",
true);
20 bool tracking =
p.getParameter<
bool>(
"TrackingCut");
21 double timeLimit =
p.getParameter<
double>(
"MaxTrackTime") * CLHEP::ns;
23 <<
"FTFP_BERT_EMM: \n Flags for EM Physics: " << emPhys
24 <<
"; Hadronic Physics: " << hadPhys <<
"; tracking cut: " <<
tracking
25 <<
"; time limit(ns)= " << timeLimit / CLHEP::ns;
32 G4EmExtraPhysics* gn =
new G4EmExtraPhysics(ver);
37 RegisterPhysics(
new G4DecayPhysics(ver));
40 G4HadronicProcessStore::Instance()->SetVerbose(ver);
43 RegisterPhysics(
new G4HadronElasticPhysicsXS(ver));
46 RegisterPhysics(
new G4HadronInelasticQBBC(ver));
49 RegisterPhysics(
new G4StoppingPhysics(ver));
52 RegisterPhysics(
new G4IonPhysics(ver));
56 G4NeutronTrackingCut* ncut =
new G4NeutronTrackingCut(ver);
57 ncut->SetTimeLimit(timeLimit);
58 RegisterPhysics(ncut);