#ifndef FCALPhysicsList_h #define FCALPhysicsList_h 1 #include "globals.hh" #include "G4VUserPhysicsList.hh" class G4Cerenkov; class G4OpAbsorption; class G4OpRayleigh; class G4OpBoundaryProcess; class FCALPhysicsListMessenger; class FCALPhysicsList : public G4VUserPhysicsList { public: FCALPhysicsList(); ~FCALPhysicsList(); 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; FCALPhysicsListMessenger* Physics_List_Messenger; }; #endif /*FCALPhysicsList_h*/