00001 00009 #include "Alignment/LaserAlignmentSimulation/plugins/LaserOpticalPhysics.h" 00010 #include "Alignment/LaserAlignmentSimulation/interface/LaserOpticalPhysicsList.h" 00011 00012 #include "HadronPhysicsQGSP.hh" 00013 00014 #include "SimG4Core/Physics/interface/PhysicsListFactory.h" 00015 #include "SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h" 00016 00017 #include "G4DecayPhysics.hh" 00018 #include "G4EmExtraPhysics.hh" 00019 #include "G4IonPhysics.hh" 00020 #include "G4QStoppingPhysics.hh" 00021 #include "G4HadronElasticPhysics.hh" 00022 #include "G4DataQuestionaire.hh" 00023 00024 LaserOpticalPhysics::LaserOpticalPhysics(G4LogicalVolumeToDDLogicalPartMap& map, 00025 const edm::ParameterSet & p) : PhysicsList(map, p) 00026 { 00027 G4DataQuestionaire it(photon); 00028 std::cout << "You are using the simulation engine: QGSP together with optical physics" << std::endl; 00029 00030 // EM Physics 00031 RegisterPhysics( new CMSEmStandardPhysics("standard EM",0)); 00032 // Synchroton Radiation & GN Physics 00033 RegisterPhysics(new G4EmExtraPhysics("extra EM")); 00034 // Decays 00035 RegisterPhysics(new G4DecayPhysics("decay",0)); 00036 // Hadron Elastic scattering 00037 RegisterPhysics(new G4HadronElasticPhysics("elastic",0,false)); 00038 // Hadron Physics 00039 RegisterPhysics(new HadronPhysicsQGSP("hadron")); 00040 // Stopping Physics 00041 RegisterPhysics(new G4QStoppingPhysics("stopping")); 00042 // Ion Physics 00043 RegisterPhysics(new G4IonPhysics("ion")); 00044 // Optical physics 00045 RegisterPhysics(new LaserOpticalPhysicsList("optical")); 00046 00047 } 00048 00049 // define the custom physics list 00050 #include "FWCore/PluginManager/interface/ModuleDef.h" 00051 00052 DEFINE_SEAL_MODULE (); 00053 DEFINE_PHYSICSLIST (LaserOpticalPhysics);