// M Hentz, 2018 #ifndef PhysicsList_h #define PhysicsList_h 1 #include "G4VModularPhysicsList.hh" #include "globals.hh" class G4VPhysicsConstructor; class StepMax; class PhysicsListMessenger; class PhysicsList: public G4VModularPhysicsList { public: PhysicsList(); ~PhysicsList(); virtual void ConstructParticle(); virtual void SetCuts(); void SetCutForGamma(G4double); void SetCutForElectron(G4double); void SetCutForPositron(G4double); void AddPhysicsList(const G4String& name); virtual void ConstructProcess(); void AddStepMax(); StepMax* GetStepMaxProcess() {return fStepMaxProcess;}; private: virtual void ConstructParallelScoring(); G4double fCutForGamma; G4double fCutForElectron; G4double fCutForPositron; G4String fEmName; G4VPhysicsConstructor* fEmPhysicsList; G4VPhysicsConstructor* fDecPhysicsList; std::vector fHadronPhys; G4VPhysicsConstructor* fRadDecayList; StepMax* fStepMaxProcess; PhysicsListMessenger* fMessenger; }; #endif