#include <PhysicsList.hh>
Public Member Functions | |
PhysicsList () | |
~PhysicsList () | |
Protected Member Functions | |
void | ConstructParticle () |
void | ConstructProcess () |
void | SetCuts () |
void | ConstructEM () |
Definition at line 16 of file PhysicsList.hh.
PhysicsList::PhysicsList | ( | ) |
Definition at line 16 of file PhysicsList.cc.
00016 : G4VUserPhysicsList() 00017 { 00018 defaultCutValue = 1.0*mm; 00019 SetVerboseLevel(1); 00020 }
PhysicsList::~PhysicsList | ( | ) |
void PhysicsList::ConstructParticle | ( | ) | [protected] |
Definition at line 29 of file PhysicsList.cc.
00030 { 00031 // pseudo-particles 00032 G4Geantino::GeantinoDefinition(); 00033 00034 // gamma 00035 G4Gamma::GammaDefinition(); 00036 00037 // e+/- 00038 G4Electron::ElectronDefinition(); 00039 G4Positron::PositronDefinition(); 00040 00041 // proton 00042 G4Proton::ProtonDefinition(); 00043 00044 // neutron 00045 G4Neutron::NeutronDefinition(); 00046 }
void PhysicsList::ConstructProcess | ( | ) | [protected] |
Definition at line 50 of file PhysicsList.cc.
00051 { 00052 AddTransportation(); 00053 ConstructEM(); 00054 }
void PhysicsList::SetCuts | ( | ) | [protected] |
Definition at line 108 of file PhysicsList.cc.
00109 { 00110 //G4VUserPhysicsList::SetCutsWithDefault method sets 00111 //the default cut value for all particle types 00112 // 00113 SetCutsWithDefault(); 00114 00115 if (verboseLevel>0) DumpCutValuesTable(); 00116 }
void PhysicsList::ConstructEM | ( | ) | [protected] |
Definition at line 72 of file PhysicsList.cc.
Referenced by ConstructProcess().
00073 { 00074 theParticleIterator->reset(); 00075 while( (*theParticleIterator)() ){ 00076 G4ParticleDefinition* particle = theParticleIterator->value(); 00077 G4ProcessManager* pmanager = particle->GetProcessManager(); 00078 G4String particleName = particle->GetParticleName(); 00079 00080 if (particleName == "gamma") { 00081 // gamma 00082 pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); 00083 pmanager->AddDiscreteProcess(new G4ComptonScattering); 00084 pmanager->AddDiscreteProcess(new G4GammaConversion); 00085 00086 } else if (particleName == "e-") { 00087 //electron 00088 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 00089 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 00090 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 00091 00092 } else if (particleName == "e+") { 00093 //positron 00094 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 00095 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 00096 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 00097 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); 00098 00099 } else if (particle->GetPDGCharge() != 0.0) { 00100 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 00101 pmanager->AddProcess(new G4hIonisation, -1, 2,2); 00102 } 00103 } 00104 }