void XXX::ConstructParticle() { G4Electron::Electron(); } void XXX::ConstructProcess() { G4ParticleDefinition* particle = G4Electron::Electron(); G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); G4LossTableManager* man = G4LossTableManager::Instance(); G4eIonisation* eioni = new G4eIonisation(); G4eMultipleScattering* msc = new G4eMultipleScattering; G4UrbanMscModel* msc1 = new G4UrbanMscModel(); G4WentzelVIModel* msc2 = new G4WentzelVIModel(); msc1->SetHighEnergyLimit(highEnergyLimit); msc2->SetLowEnergyLimit(highEnergyLimit); msc->SetEmModel(msc1); msc->SetEmModel(msc2); // single scattering G4eCoulombScatteringModel* ssm = new G4eCoulombScatteringModel(); G4CoulombScattering* ss = new G4CoulombScattering(); ss->SetEmModel(ssm); ss->SetMinKinEnergy(highEnergyLimit); ssm->SetLowEnergyLimit(highEnergyLimit); ssm->SetActivationLowEnergyLimit(highEnergyLimit); ph->RegisterProcess(msc, particle); ph->RegisterProcess(eioni, particle); ph->RegisterProcess(new G4eBremsstrahlung(), particle); ph->RegisterProcess(ss, particle); }