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 G4VPhysicsConstructor(
"CMSEmGeantV"),
verbose(ver) {
28 G4EmParameters* param = G4EmParameters::Instance();
31 param->SetApplyCuts(
true);
32 param->SetStepFunction(0.8, 1*CLHEP::mm);
33 param->SetLossFluctuations(
false);
34 param->SetMscRangeFactor(0.2);
35 param->SetMscStepLimitType(fMinimal);
36 SetPhysicsType(bElectromagnetic);
45 G4Positron::Positron();
47 G4LeptonConstructor pLeptonConstructor;
48 pLeptonConstructor.ConstructParticle();
54 G4cout <<
"### " << GetPhysicsName() <<
" Construct Processes " << G4endl;
59 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
63 ph->RegisterProcess(
new G4PhotoElectricEffect(), particle);
64 ph->RegisterProcess(
new G4ComptonScattering(), particle);
65 ph->RegisterProcess(
new G4GammaConversion(), particle);
69 ph->RegisterProcess(
new G4eMultipleScattering(), particle);
70 ph->RegisterProcess(
new G4eIonisation(), particle);
71 ph->RegisterProcess(
new G4eBremsstrahlung(), particle);
73 particle = G4Positron::Positron();
75 ph->RegisterProcess(
new G4eMultipleScattering(), particle);
76 ph->RegisterProcess(
new G4eIonisation(), particle);
77 ph->RegisterProcess(
new G4eBremsstrahlung(), particle);
78 ph->RegisterProcess(
new G4eplusAnnihilation(), particle);
void ConstructParticle() override
void ConstructProcess() override
DummyEMPhysics(G4int verb)