CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CMSModel.cc
Go to the documentation of this file.
1 #include "CMSModel.hh"
4 
5 #include "G4DecayPhysics.hh"
6 #include "G4IonPhysics.hh"
7 #include "G4StoppingPhysics.hh"
8 #include "G4HadronElasticPhysics.hh"
9 
10 #include "G4DataQuestionaire.hh"
11 
12 CMSModel::CMSModel(G4LogicalVolumeToDDLogicalPartMap& map,
14  sim::FieldBuilder *fieldBuilder_,
15  const edm::ParameterSet & p) : PhysicsList(map, table_, fieldBuilder_, p) {
16 
17  G4DataQuestionaire it(photon);
18 
19  int ver = p.getUntrackedParameter<int>("Verbosity",0);
20  std::string model = p.getUntrackedParameter<std::string>("Model","QGSP");
21  bool quasiElastic = p.getUntrackedParameter<bool>("QuasiElastic",true);
22  edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
23  << model << " with Flags for QuasiElastic "
24  << quasiElastic << " and Verbosity Flag "
25  << ver << "\n";
26  // Decays
27  RegisterPhysics(new G4DecayPhysics(ver));
28 
29  // Hadron Elastic scattering
30  RegisterPhysics(new G4HadronElasticPhysics(ver));
31 
32  // Hadron Physics
33  RegisterPhysics(new HadronPhysicsCMS(model, quasiElastic));
34 
35  // Stopping Physics
36  RegisterPhysics(new G4StoppingPhysics(ver));
37 
38  // Ion Physics
39  RegisterPhysics(new G4IonPhysics(ver));
40 }
41 
T getUntrackedParameter(std::string const &, T const &) const
HepPDT::ParticleDataTable ParticleDataTable
Table table_