CMS 3D CMS Logo

FTFCMS_BIC.cc

Go to the documentation of this file.
00001 #include "FTFCMS_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 "HadronPhysicsFTF_BIC.hh"
00014 
00015 FTFCMS_BIC::FTFCMS_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                               << "FTF_BIC 1.0 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   this->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     RegisterPhysics( new HadronPhysicsFTF_BIC("hadron",true));
00045 
00046     // Stopping Physics
00047     RegisterPhysics( new G4QStoppingPhysics("stopping"));
00048 
00049     // Ion Physics
00050     RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC"));
00051 
00052     // Neutron tracking cut
00053     RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver));
00054   }
00055 }
00056 

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