28 #include "ParisStandardEMPhysicsList.hh"
30 #include "G4ProcessManager.hh"
31 #include "G4ProcessVector.hh"
32 #include "G4LossTableManager.hh"
33 #include "G4ParticleDefinition.hh"
34 #include "G4ParticleWithCuts.hh"
35 #include "G4ParticleTypes.hh"
36 #include "G4ParticleTable.hh"
37 #include "G4Material.hh"
41 #include "G4ComptonScattering.hh"
42 #include "G4GammaConversion.hh"
43 #include "G4PhotoElectricEffect.hh"
47 #include "G4eMultipleScattering.hh"
49 #include "G4eIonisation.hh"
50 #include "G4eBremsstrahlung.hh"
51 #include "G4eplusAnnihilation.hh"
54 ParisStandardEMPhysicsList::ParisStandardEMPhysicsList(
const G4String& name): G4VPhysicsConstructor(name)
65 G4Gamma::GammaDefinition();
68 G4Electron::ElectronDefinition();
69 G4Positron::PositronDefinition();
72 G4Geantino::GeantinoDefinition();
78 G4ProcessManager * pManager = 0;
81 G4PhotoElectricEffect* thePhotoEffect =
new G4PhotoElectricEffect();
82 G4ComptonScattering* theComptonEffect =
new G4ComptonScattering();
83 G4GammaConversion* thePairProduction =
new G4GammaConversion();
85 pManager = G4Gamma::Gamma()->GetProcessManager();
87 pManager->AddDiscreteProcess(thePhotoEffect);
88 pManager->AddDiscreteProcess(theComptonEffect);
89 pManager->AddDiscreteProcess(thePairProduction);
92 G4eMultipleScattering* theElectronMultipleScattering =
new G4eMultipleScattering();
93 G4eIonisation* theElectronIonisation =
new G4eIonisation();
94 G4eBremsstrahlung* theElectronBremsStrahlung =
new G4eBremsstrahlung();
96 pManager = G4Electron::Electron()->GetProcessManager();
98 pManager->AddProcess(theElectronMultipleScattering, -1, 1, 1);
99 pManager->AddProcess(theElectronIonisation, -1, 2, 2);
100 pManager->AddProcess(theElectronBremsStrahlung, -1, 3, 3);
103 G4eMultipleScattering* thePositronMultipleScattering =
new G4eMultipleScattering();
104 G4eIonisation* thePositronIonisation =
new G4eIonisation();
105 G4eBremsstrahlung* thePositronBremsStrahlung =
new G4eBremsstrahlung();
106 G4eplusAnnihilation* theAnnihilation =
new G4eplusAnnihilation();
108 pManager = G4Positron::Positron()->GetProcessManager();
110 pManager->AddProcess(thePositronMultipleScattering, -1, 1, 1);
111 pManager->AddProcess(thePositronIonisation, -1, 2, 2);
112 pManager->AddProcess(thePositronBremsStrahlung, -1, 3, 3);
113 pManager->AddProcess(theAnnihilation, 0,-1, 4);
virtual void ConstructProcess()
virtual void ConstructParticle()
these methods Construct particles
virtual ~ParisStandardEMPhysicsList()