#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