Skip to content
Snippets Groups Projects
PhysicsList.hh 1.06 KiB
Newer Older
  • Learn to ignore specific revisions
  • Chad Lantz's avatar
    Chad Lantz committed
    #ifndef PhysicsList_h
    #define PhysicsList_h 1
    
    #include "globals.hh"
    #include "G4VModularPhysicsList.hh"
    
    class G4VPhysicsConstructor;
    
    class OpticalPhysics;
    
    class PhysicsList: public G4VModularPhysicsList{
      public:
    
        PhysicsList();
        virtual ~PhysicsList();
    
        void SetCuts();
        void SetCutForGamma(G4double);
        void SetCutForElectron(G4double);
        void SetCutForPositron(G4double);
    
        void SetStepMax(G4double);
        void AddStepMax();
    
        /// Remove specific physics from physics list.
        void RemoveFromPhysicsList(const G4String&);
    
        /// Make sure that the physics list is empty.
        void ClearPhysics();
    
        virtual void ConstructParticle();
        virtual void ConstructProcess();
    
        // Turn on or off the absorption process
        void SetAbsorption(G4bool);
    
        void SetNbOfPhotonsCerenkov(G4int);
    
        void SetVerbose(G4int);
    
      private:
    
        G4double fCutForGamma;
        G4double fCutForElectron;
        G4double fCutForPositron;
    
        OpticalPhysics* fOpticalPhysics;
    
        G4bool fAbsorptionOn;
    
        G4VMPLData::G4PhysConstVectorData* fPhysicsVector;
    
    };
    
    #endif