5 #include "G4EmStandardPhysics.hh" 6 #include "G4DecayPhysics.hh" 7 #include "G4EmExtraPhysics.hh" 8 #include "G4IonPhysics.hh" 9 #include "G4StoppingPhysics.hh" 10 #include "G4HadronElasticPhysics.hh" 11 #include "G4NeutronTrackingCut.hh" 12 #include "G4HadronicProcessStore.hh" 14 #include "G4HadronPhysicsQGSP_FTFP_BERT.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;
22 double minFTFP =
p.getParameter<
double>(
"EminFTFP") * CLHEP::GeV;
23 double maxBERT =
p.getParameter<
double>(
"EmaxBERT") * CLHEP::GeV;
24 double minQGSP =
p.getParameter<
double>(
"EminQGSP") * CLHEP::GeV;
25 double maxFTFP =
p.getParameter<
double>(
"EmaxFTFP") * CLHEP::GeV;
26 double maxBERTpi =
p.getParameter<
double>(
"EmaxBERTpi") * CLHEP::GeV;
27 edm::LogInfo(
"PhysicsList") <<
"You are using the simulation engine: " 28 <<
"QGSP_FTFP_BERT \n Flags for EM Physics " << emPhys <<
", for Hadronic Physics " 29 << hadPhys <<
" and tracking cut " <<
tracking <<
" t(ns)= " << timeLimit / CLHEP::ns
30 <<
"\n transition energy Bertini/FTFP from " << minFTFP / CLHEP::GeV <<
" to " 31 << maxBERTpi / CLHEP::GeV <<
":" << maxBERT / CLHEP::GeV <<
" GeV" 32 <<
"\n transition energy FTFP/QGSP from " << minQGSP / CLHEP::GeV <<
" to " 33 << maxFTFP / CLHEP::GeV <<
" GeV";
37 RegisterPhysics(
new G4EmStandardPhysics(ver));
40 G4EmExtraPhysics* gn =
new G4EmExtraPhysics(ver);
45 this->RegisterPhysics(
new G4DecayPhysics(ver));
48 G4HadronicProcessStore::Instance()->SetVerbose(ver);
51 RegisterPhysics(
new G4HadronElasticPhysics(ver));
57 RegisterPhysics(
new G4StoppingPhysics(ver));
60 RegisterPhysics(
new G4IonPhysics(ver));
64 G4NeutronTrackingCut* ncut =
new G4NeutronTrackingCut(ver);
65 ncut->SetTimeLimit(timeLimit);
66 RegisterPhysics(ncut);
QGSPCMS_FTFP_BERT(const edm::ParameterSet &p)
Log< level::Info, false > LogInfo