00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef BgsPhysicsList_h
00023 #define BgsPhysicsList_h 1
00024
00025 #include "G4VUserPhysicsList.hh"
00026 #include "globals.hh"
00027
00028
00029
00030 class BgsLooperDeath;
00031 class BgsChargedStepDeath;
00032 class BgsPhysicsRegistrar;
00033 class BgsControl;
00034
00035 class G4PhotoElectricEffect;
00036 class G4ComptonScattering;
00037 class G4GammaConversion;
00038 class G4MultipleScattering;
00039 class G4eIonisation;
00040 class G4eBremsstrahlung;
00041 class G4eplusAnnihilation;
00042 class G4MuIonisation;
00043 class G4MuBremsstrahlung;
00044 class G4MuPairProduction;
00045 class G4hIonisation;
00046 class G4HadronElasticProcess;
00047 class G4LElastic;
00048 class G4ParticleDefinition;
00049
00050 class G4ProcessManager;
00051 class G4VProcess;
00052 class G4CascadeInterface;
00053
00054
00055 class BgsPhysicsList: public G4VUserPhysicsList
00056 {
00057 public:
00058
00059
00060 BgsPhysicsList();
00061 virtual ~BgsPhysicsList();
00062
00063
00064 void SetCuts();
00065
00066 void SetStatusEmProcess();
00067
00068 protected:
00069
00070 void ConstructParticle();
00071 void ConstructProcess();
00072
00073
00074 void ConstructBosons();
00075 void ConstructLeptons();
00076 void ConstructMesons();
00077 void ConstructBaryons();
00078 void ConstructIons();
00079
00080
00081
00082
00083
00084 void ConstructGeneral();
00085 void ConstructEM();
00086 void ConstructLeptHad();
00087 void ConstructHad();
00088 void ConstructNeutrinoGenocide();
00089 void ConstructIonFix();
00090 void ConstructNeutronFix();
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114 private:
00115
00116
00117 G4bool first;
00118
00119
00120
00121
00122
00123
00124
00125
00126 G4CascadeInterface* bertini_model;
00127 };
00128
00129 #endif