#include <ExtPhysicsList.h>
Public Member Functions | |
ExtPhysicsList () | |
~ExtPhysicsList () | |
Protected Member Functions | |
void | ConstructParticle () |
void | ConstructProcess () |
void | SetCuts () |
Definition at line 13 of file ExtPhysicsList.h.
ExtPhysicsList::ExtPhysicsList | ( | ) |
ExtPhysicsList::~ExtPhysicsList | ( | ) |
void ExtPhysicsList::ConstructParticle | ( | ) | [protected] |
Definition at line 32 of file ExtPhysicsList.cxx.
00033 { 00034 // In this method, static member functions should be called 00035 // for all particles which you want to use. 00036 // This ensures that objects of these particle types will be 00037 // created in the program. 00038 G4Gamma:: GammaDefinition(); 00039 G4Electron:: ElectronDefinition(); 00040 G4Positron:: PositronDefinition(); 00041 G4MuonPlus:: MuonPlusDefinition(); 00042 G4MuonMinus:: MuonMinusDefinition(); 00043 G4PionPlus:: PionPlusDefinition(); 00044 G4PionMinus:: PionMinusDefinition(); 00045 G4KaonPlus:: KaonPlusDefinition(); 00046 G4KaonMinus:: KaonMinusDefinition(); 00047 G4Proton:: ProtonDefinition(); 00048 G4AntiProton:: AntiProtonDefinition(); 00049 }
void ExtPhysicsList::ConstructProcess | ( | ) | [protected] |
Definition at line 52 of file ExtPhysicsList.cxx.
00053 { 00054 // Define transportation process (must be invoked) 00055 AddTransportation(); 00056 00057 //Add Energy Loss Process 00058 theParticleIterator->reset(); 00059 while( (*theParticleIterator)() ) 00060 { 00061 G4ParticleDefinition* particle = theParticleIterator->value(); 00062 G4ProcessManager* pmanager = particle->GetProcessManager(); 00063 G4String particleName = particle->GetParticleName(); 00064 if(particleName == "e-" || particleName == "e+") 00065 { 00066 // pmanager->AddProcess( new G4MultipleScattering,-1,1,1); 00067 // pmanager->AddProcess( new G4eIonisation,-1,2,2); 00068 pmanager->AddProcess( new ExteIonisation,-1,1,1); 00069 // pmanager->AddProcess( new G4eBremsstrahlung,-1,2,2); 00070 } 00071 else if(particleName == "mu-" || particleName == "mu+") 00072 { 00073 // pmanager->AddProcess( new G4MultipleScattering,-1,1,1); 00074 // pmanager->AddProcess( new G4MuIonisation,-1,2,2); 00075 pmanager->AddProcess( new ExtMuIonisation,-1,1,1); 00076 // pmanager->AddProcess( new G4MuBremsstrahlung,-1,2,2); 00077 } 00078 else if((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particleName != "chargedgeantino")) 00079 { 00080 // pmanager->AddProcess( new G4MultipleScattering,-1,1,1); 00081 // pmanager->AddProcess( new G4hIonisation,-1,2,2); 00082 // pmanager->AddProcess( new ExtMultipleScattering,-1,1,1); 00083 pmanager->AddProcess( new ExthIonisation,-1,1,1); 00084 } 00085 } 00086 }
void ExtPhysicsList::SetCuts | ( | ) | [protected] |
Definition at line 89 of file ExtPhysicsList.cxx.
00090 { 00091 // " G4VUserPhysicsList::SetCutsWithDefault" method sets 00092 // the default cut value for all particle types 00093 SetCutsWithDefault(); 00094 00095 }