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 "G4SystemOfUnits.hh"
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
constexpr char Electron[]
DummyEMPhysics(G4int verb)