#ifndef LGPhysicsList_h #define LGPhysicsList_h 1 #include "globals.hh" #include "G4VUserPhysicsList.hh" class G4Cerenkov; class G4OpAbsorption; class G4OpRayleigh; class G4OpBoundaryProcess; class LGPhysicsListMessenger; class LGPhysicsList : public G4VUserPhysicsList { public: LGPhysicsList(); ~LGPhysicsList(); public: void ConstructParticle(); void ConstructProcess(); void SetCuts(); //-------- 1. Methods: Construction of Particles void ConstructBosons(); void ConstructLeptons(); void ConstructMesons(); void ConstructBaryons(); //-------- 2. Methods: Construction and Registration of Physics Processes void ConstructGeneral(); void ConstructEM(); void ConstructOp(); //-------- 3. Methods: For the Messenger void SetVerbose(G4int); void SetNbOfPhotonsCerenkov(G4int); private: G4Cerenkov* Cerenkov_Process; G4OpAbsorption* Absorption_Process; G4OpRayleigh* Rayleigh_Process; G4OpBoundaryProcess* Boundary_Process; LGPhysicsListMessenger* Physics_List_Messenger; }; #endif /*LGPhysicsList_h*/