#include <SimG4Core/GFlash/interface/GFlash.h>
Public Member Functions | |
GFlash (G4LogicalVolumeToDDLogicalPartMap &map, const edm::ParameterSet &p) | |
virtual | ~GFlash () |
Private Attributes | |
GflashHistogram * | theHisto |
edm::ParameterSet | thePar |
Definition at line 11 of file GFlash.h.
GFlash::GFlash | ( | G4LogicalVolumeToDDLogicalPartMap & | map, | |
const edm::ParameterSet & | p | |||
) |
Definition at line 18 of file GFlash.cc.
References GflashHistogram::bookHistogram(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GflashHistogram::instance(), it, GflashHistogram::setStoreFlag(), theHisto, thePar, and mergeAndRegister_online::ver.
00018 : 00019 PhysicsList(map, p), thePar(p.getParameter<edm::ParameterSet>("GFlash")) { 00020 00021 G4DataQuestionaire it(photon); 00022 00023 int ver = p.getUntrackedParameter<int>("Verbosity",0); 00024 edm::LogInfo("PhysicsList") << "You are using the simulation engine: " 00025 << "QGSP_BERT + CMS GFLASH\n"; 00026 00027 RegisterPhysics(new ParametrisedPhysics("parametrised",thePar)); 00028 00029 // EM Physics 00030 RegisterPhysics( new CMSEmStandardPhysics("standard EM",ver)); 00031 00032 // Synchroton Radiation & GN Physics 00033 RegisterPhysics(new G4EmExtraPhysics("extra EM")); 00034 00035 // Decays 00036 RegisterPhysics(new G4DecayPhysics("decay",ver)); 00037 00038 // Hadron Elastic scattering 00039 RegisterPhysics(new G4HadronElasticPhysics("elastic",ver,false)); 00040 00041 // Hadron Physics 00042 G4bool quasiElastic=true; 00043 std::string hadronPhysics = thePar.getParameter<std::string>("GflashHadronPhysics"); 00044 if(hadronPhysics=="QGSP_BERT") { 00045 RegisterPhysics(new HadronPhysicsQGSP_BERT_WP("hadron",quasiElastic)); 00046 } 00047 else if (hadronPhysics=="QGSP") { 00048 RegisterPhysics(new HadronPhysicsQGSP_WP("hadron",quasiElastic)); 00049 } 00050 else { 00051 edm::LogInfo("PhysicsList") << hadronPhysics << " is not available for GflashHadronPhysics!" 00052 << "... Using QGSP_BERT\n"; 00053 RegisterPhysics(new HadronPhysicsQGSP_BERT_WP("hadron",quasiElastic)); 00054 } 00055 00056 // Stopping Physics 00057 RegisterPhysics(new G4QStoppingPhysics("stopping")); 00058 00059 // Ion Physics 00060 RegisterPhysics(new G4IonPhysics("ion")); 00061 00062 // Neutron tracking cut 00063 RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); 00064 00065 00066 // singleton histogram object 00067 theHisto = GflashHistogram::instance(); 00068 if(thePar.getParameter<bool>("GflashHistogram")) { 00069 theHisto->setStoreFlag(true); 00070 theHisto->bookHistogram(); 00071 } 00072 00073 }
GFlash::~GFlash | ( | ) | [virtual] |
GflashHistogram* GFlash::theHisto [private] |
edm::ParameterSet GFlash::thePar [private] |