CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/Alignment/LaserAlignmentSimulation/plugins/LaserOpticalPhysics.cc

Go to the documentation of this file.
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 HepPDT::ParticleDataTable * table_,
00026                                          sim::FieldBuilder *fieldBuilder_,
00027                                          const edm::ParameterSet & p) : PhysicsList(map, table_, fieldBuilder_, p)
00028 {
00029     G4DataQuestionaire it(photon);
00030     std::cout << "You are using the simulation engine: QGSP together with optical physics" << std::endl;
00031   
00032     // EM Physics
00033     RegisterPhysics( new CMSEmStandardPhysics("standard EM", 0));
00034     // Synchroton Radiation & GN Physics
00035     RegisterPhysics(new G4EmExtraPhysics("extra EM"));
00036     // Decays
00037     RegisterPhysics(new G4DecayPhysics("decay",0));
00038     // Hadron Elastic scattering
00039     RegisterPhysics(new G4HadronElasticPhysics("elastic",0,false)); 
00040     // Hadron Physics
00041     RegisterPhysics(new HadronPhysicsQGSP("hadron"));
00042     // Stopping Physics
00043     RegisterPhysics(new G4QStoppingPhysics("stopping"));
00044     // Ion Physics
00045     RegisterPhysics(new G4IonPhysics("ion"));
00046     // Optical physics
00047     RegisterPhysics(new LaserOpticalPhysicsList("optical"));
00048 
00049 }
00050 
00051 // define the custom physics list
00052 
00053 DEFINE_PHYSICSLIST (LaserOpticalPhysics);