CMS 3D CMS Logo

QGSPCMS.cc

Go to the documentation of this file.
00001 #include "QGSPCMS.hh"
00002 #include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h"
00003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00004 
00005 #include "G4DecayPhysics.hh"
00006 #include "G4EmExtraPhysics.hh"
00007 #include "G4IonPhysics.hh"
00008 #include "G4QStoppingPhysics.hh"
00009 #include "G4HadronElasticPhysics.hh" 
00010 #include "G4NeutronTrackingCut.hh"
00011 
00012 #include "G4DataQuestionaire.hh"
00013 #include "HadronPhysicsQGSP.hh"
00014 
00015 QGSPCMS::QGSPCMS(G4LogicalVolumeToDDLogicalPartMap& map, 
00016                  const edm::ParameterSet & p) : PhysicsList(map, p) {
00017 
00018   G4DataQuestionaire it(photon);
00019   
00020   int  ver     = p.getUntrackedParameter<int>("Verbosity",0);
00021   bool emPhys  = p.getUntrackedParameter<bool>("EMPhysics",true);
00022   bool hadPhys = p.getUntrackedParameter<bool>("HadPhysics",true);
00023   edm::LogInfo("PhysicsList") << "You are using the simulation engine: "
00024                               << "QGSP 3.3 with Flags for EM Physics "
00025                               << emPhys << " and for Hadronic Physics "
00026                               << hadPhys << "\n";
00027 
00028   if (emPhys) {
00029     // EM Physics
00030     RegisterPhysics( new CMSEmStandardPhysics("standard EM",ver));
00031 
00032     // Synchroton Radiation & GN Physics
00033     RegisterPhysics(new G4EmExtraPhysics("extra EM"));
00034   }
00035 
00036   // Decays
00037   RegisterPhysics(new G4DecayPhysics("decay",ver));
00038 
00039   if (hadPhys) {
00040     // Hadron Elastic scattering
00041     RegisterPhysics(new G4HadronElasticPhysics("elastic",ver,false)); 
00042 
00043     // Hadron Physics
00044     G4bool quasiElastic=true;
00045     RegisterPhysics(new HadronPhysicsQGSP("hadron",quasiElastic));
00046     //RegisterPhysics(new HadronPhysicsQGSP("hadron"));
00047 
00048     // Stopping Physics
00049     RegisterPhysics(new G4QStoppingPhysics("stopping"));
00050 
00051     // Ion Physics
00052     RegisterPhysics(new G4IonPhysics("ion"));
00053 
00054     // Neutron tracking cut
00055     RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));
00056   }
00057 }
00058 

Generated on Tue Jun 9 17:47:07 2009 for CMSSW by  doxygen 1.5.4