CMS 3D CMS Logo

QGSPCMS_BERT_EMV.cc

Go to the documentation of this file.
00001 #include "QGSPCMS_BERT_EMV.hh"
00002 #include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics71.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_BERT.hh"
00014 
00015 QGSPCMS_BERT_EMV::QGSPCMS_BERT_EMV(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_BERT_EMV 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 CMSEmStandardPhysics71("standard EM v71",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_BERT("hadron",quasiElastic));
00046     //RegisterPhysics( new HadronPhysicsQGSP_BERT("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 }

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