CMS 3D CMS Logo

QGSPCMS_BIC.cc

Go to the documentation of this file.
00001 #include "QGSPCMS_BIC.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 "G4IonBinaryCascadePhysics.hh"
00008 #include "G4QStoppingPhysics.hh"
00009 #include "G4HadronElasticPhysics.hh"
00010 #include "G4NeutronTrackingCut.hh"
00011 
00012 #include "G4DataQuestionaire.hh"
00013 #include "HadronPhysicsQGSP_BIC.hh"
00014 
00015 QGSPCMS_BIC::QGSPCMS_BIC(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_BIC 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_BIC("hadron",quasiElastic));
00046   
00047     // Stopping Physics
00048     RegisterPhysics( new G4QStoppingPhysics("stopping"));
00049 
00050     // Ion Physics
00051     RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC"));
00052 
00053     // Neutron tracking cut
00054     RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));
00055   }
00056 }

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