Physics.h

Go to the documentation of this file.
00001 //! \file
00002 //!
00003 //! Header file for the Physics class.
00004 //!
00005 //! The Physics class defines the particles and physics
00006 //! processes which will be active in the OLYMPUS Monte Carlo simulation.
00007 //!
00008 //! \author D.K. Hasell
00009 //! \version 1.0
00010 //! \date 2010-10-13
00011 //!
00012 //! \ingroup physics
00013 
00014 // *+****1****+****2****+****3****+****4****+****5****+****6****+****7****+****
00015 
00016 // Ensure this header file is only included once.
00017 
00018 #ifndef PHYSICS_H
00019 #define PHYSICS_H
00020 
00021 // Include the GEANT4 header files referenced here.
00022 
00023 #include "G4VUserPhysicsList.hh"
00024 
00025 //! Physics class.
00026 //!
00027 //! Declares the Physics class and its member functions.
00028 
00029 class Physics: public G4VUserPhysicsList {
00030 
00031 public:
00032 
00033      //! Constructor.
00034 
00035      Physics();
00036 
00037      //! Destructor.
00038 
00039      ~Physics();
00040 
00041 protected:
00042 
00043      //! Member function to construct the particles used.
00044 
00045      void ConstructParticle();
00046 
00047      //! Member function to construct the processes used.
00048 
00049      void ConstructProcess();
00050  
00051      //! Member function to set the cuts.
00052 
00053      void SetCuts();
00054 
00055    
00056 protected:
00057 
00058      //! Method to construct the boson family of particles.
00059  
00060      void ConstructBosons();
00061 
00062      //! Method to construct the lepton family of particles.
00063  
00064      void ConstructLeptons();
00065  
00066      //! Method to construct the meson family of particles.
00067  
00068      void ConstructMesons();
00069 
00070      //! Method to construct the baryon family of particles.
00071  
00072      void ConstructBaryons();
00073 
00074 protected:
00075 
00076      //! Method to construct the general physics processes.
00077 
00078      void ConstructGeneral();
00079 
00080      //! Method to construct the electromagnetic physics processes.
00081 
00082      void ConstructEM();
00083 };
00084 
00085 #endif