File indexing completed on 2025-02-23 09:20:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 #ifndef STCyclotronPhysicsList_h
0032 #define STCyclotronPhysicsList_h 1
0033
0034 #include "STCyclotronDetectorConstruction.hh"
0035 #include "G4VModularPhysicsList.hh"
0036 #include "globals.hh"
0037 #include <vector>
0038
0039 class G4PhysicsConstructor;
0040 class STCyclotronDetectorConstruction;
0041
0042 class STCyclotronPhysicsList: public G4VModularPhysicsList
0043 {
0044 public:
0045
0046 STCyclotronPhysicsList(STCyclotronDetectorConstruction* det);
0047 virtual ~STCyclotronPhysicsList();
0048 void ConstructParticle();
0049 void ConstructProcess();
0050
0051 void SetCuts();
0052 void SetCutForGamma(G4double);
0053 void SetCutForElectron(G4double);
0054 void SetCutForPositron(G4double);
0055 void SetCutFoil(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma);
0056 void SetCutTarget(G4double cutProton, G4double cutElectron, G4double cutPositron, G4double cutGamma);
0057
0058
0059
0060
0061
0062 private:
0063 G4String fEmName;
0064 G4VPhysicsConstructor* fEmPhysicsList;
0065 G4VPhysicsConstructor* fDecPhysicsList;
0066 G4VPhysicsConstructor* fHadPhysicsList;
0067 G4VPhysicsConstructor* fRaddecayList;
0068
0069 G4double fThickness_target;
0070 G4double fThickness_foil;
0071
0072 G4double fCutForGamma;
0073 G4double fCutForElectron;
0074 G4double fCutForPositron;
0075
0076 G4double fCutTargetProton;
0077 G4double fCutTargetElectron;
0078 G4double fCutTargetPositron;
0079 G4double fCutTargetGamma;
0080
0081 G4double fCutFoilProton;
0082 G4double fCutFoilElectron;
0083 G4double fCutFoilPositron;
0084 G4double fCutFoilGamma;
0085
0086 STCyclotronDetectorConstruction* fDetector;
0087
0088 };
0089
0090 #endif