2 #include "G4EmParameters.hh" 3 #include "G4ParticleTable.hh" 5 #include "G4ParticleDefinition.hh" 7 #include "G4ComptonScattering.hh" 8 #include "G4GammaConversion.hh" 9 #include "G4PhotoElectricEffect.hh" 11 #include "G4eMultipleScattering.hh" 12 #include "G4eIonisation.hh" 13 #include "G4eBremsstrahlung.hh" 14 #include "G4eplusAnnihilation.hh" 17 #include "G4Electron.hh" 18 #include "G4Positron.hh" 19 #include "G4LeptonConstructor.hh" 21 #include "G4PhysicsListHelper.hh" 22 #include "G4BuilderType.hh" 24 #include <CLHEP/Units/SystemOfUnits.h> 27 G4EmParameters* param = G4EmParameters::Instance();
30 param->SetApplyCuts(
true);
31 param->SetStepFunction(0.8, 1 * CLHEP::mm);
32 param->SetLossFluctuations(
false);
33 param->SetMscRangeFactor(0.2);
34 param->SetMscStepLimitType(fMinimal);
35 SetPhysicsType(bElectromagnetic);
44 G4Positron::Positron();
46 G4LeptonConstructor pLeptonConstructor;
47 pLeptonConstructor.ConstructParticle();
52 G4cout <<
"### " << GetPhysicsName() <<
" Construct Processes " << G4endl;
57 G4PhysicsListHelper*
ph = G4PhysicsListHelper::GetPhysicsListHelper();
59 G4ParticleDefinition* particle = G4Gamma::Gamma();
61 ph->RegisterProcess(
new G4PhotoElectricEffect(), particle);
62 ph->RegisterProcess(
new G4ComptonScattering(), particle);
63 ph->RegisterProcess(
new G4GammaConversion(), particle);
67 ph->RegisterProcess(
new G4eMultipleScattering(), particle);
68 ph->RegisterProcess(
new G4eIonisation(), particle);
69 ph->RegisterProcess(
new G4eBremsstrahlung(), particle);
71 particle = G4Positron::Positron();
73 ph->RegisterProcess(
new G4eMultipleScattering(), particle);
74 ph->RegisterProcess(
new G4eIonisation(), particle);
75 ph->RegisterProcess(
new G4eBremsstrahlung(), particle);
76 ph->RegisterProcess(
new G4eplusAnnihilation(), particle);
void ConstructParticle() override
void ConstructProcess() override
DummyEMPhysics(G4int verb)