QwGeant4
QweakSimEmLivermorePhysics.cc
Go to the documentation of this file.
2 
3 #include "G4Version.hh"
4 #include "G4SystemOfUnits.hh"
5 #include "G4PhysicsListHelper.hh"
6 #include "G4ParticleDefinition.hh"
7 
8 #include "G4eMultipleScattering.hh"
9 
12 
13 
15 {
16  if(verbose > 1) {
17  G4cout << "### " << GetPhysicsName() << " Construct Processes " << G4endl;
18  }
19  G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
20 
21  // high energy limit for e+- scattering models
22  G4double highEnergyLimit = 100*MeV;
23 
24  // Add standard EM Processes
25  #if G4VERSION_NUMBER >= 1030
26  auto aParticleIterator = GetParticleIterator();
27  #endif
28  aParticleIterator->reset();
29  while( (*aParticleIterator)() ){
30  G4ParticleDefinition* particle = aParticleIterator->value();
31  G4String particleName = particle->GetParticleName();
32 
33  if (particleName == "e-" || particleName == "e+") {
34 
35  G4eMultipleScattering* msc = new G4eMultipleScattering;
38  msc1->SetHighEnergyLimit(highEnergyLimit);
39  msc2->SetLowEnergyLimit(highEnergyLimit);
40  msc->AddEmModel(0, msc1);
41  msc->AddEmModel(0, msc2);
42 
43  ph->RegisterProcess(msc, particle);
44 
45  }
46  }
47 
48  // Fall back
49  G4EmLivermorePhysics::ConstructProcess();
50 }