/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSModularPhysicsList.hh

00001 #ifndef BDSModularPhysicsList_h
00002 #define BDSModularPhysicsList_h 1
00003 
00004 #include "G4VModularPhysicsList.hh"
00005 #include "G4OpticalPhysics.hh"
00006 #include "BDSDebug.hh"
00007 #include "G4VPhysicsConstructor.hh"
00008 #include "BDSMuonPhysics.hh"
00009 #include "BDSCutsAndLimits.hh"
00010 
00011 #include <vector>
00012 
00013 class BDSModularPhysicsList: public G4VModularPhysicsList
00014 {
00015 public:
00016   BDSModularPhysicsList();
00017   virtual ~BDSModularPhysicsList();
00018   void Print();
00019   virtual void SetCuts();
00020 
00021 private:
00022   void SetParticleDefinition();
00023   void ConstructMinimumParticleSet();
00024   G4VPhysicsConstructor* _emPhysics;
00025   G4VPhysicsConstructor* _hadronicPhysics;
00026   G4VPhysicsConstructor* _muonPhysics;
00027   G4OpticalPhysics* _opticalPhysics;
00028   G4VPhysicsConstructor* _decayPhysics;
00029   G4VPhysicsConstructor* _paramPhysics;
00030   G4VPhysicsConstructor* _synchRadPhysics;
00031   G4VPhysicsConstructor* _cutsAndLimits;
00032   std::vector<G4VPhysicsConstructor*> _constructors;
00033   void ParsePhysicsList();
00034   void ConfigurePhysics();
00035   void ConfigureOptical();
00036   void Register();
00037   G4String _physListName;
00038   //Physics constructor loaders.
00039   void LoadEm();                          
00040   void LoadEmLow();                       
00041   void LoadParameterisationPhysics();  
00042   void LoadHadronic();            
00043   void LoadHadronicHP();                  
00044   void LoadSynchRad();
00045   void LoadMuon();                                                
00046   void LoadOptical();             
00047   void LoadDecay();                       
00048   void LoadCutsAndLimits();                       
00049 };
00050 
00051 #endif
00052 

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7