diff --git a/src/celeritas/em/model/CoulombScatteringModel.cc b/src/celeritas/em/model/CoulombScatteringModel.cc index 544454c190..d36d2003a4 100644 --- a/src/celeritas/em/model/CoulombScatteringModel.cc +++ b/src/celeritas/em/model/CoulombScatteringModel.cc @@ -60,6 +60,10 @@ CoulombScatteringModel::CoulombScatteringModel(ActionId id, = imported_.energy_grid_bounds(data_.ids.electron, MaterialId{0}); // Check that the bounds are the same for all particles/materials + // TODO: This is only expected when using Coulomb scattering with the + // Wentzel VI model above the MSC energy limit. When the MSC energy limit + // is not set, the model energy grid bounds are material dependent and + // require material-dependent applicability for (auto pid : {data_.ids.electron, data_.ids.positron}) { for (auto mid : range(MaterialId{materials.num_materials()})) diff --git a/src/celeritas/ext/detail/CelerEmStandardPhysics.cc b/src/celeritas/ext/detail/CelerEmStandardPhysics.cc index 5038ebd257..e6359eb6eb 100644 --- a/src/celeritas/ext/detail/CelerEmStandardPhysics.cc +++ b/src/celeritas/ext/detail/CelerEmStandardPhysics.cc @@ -155,7 +155,7 @@ void CelerEmStandardPhysics::ConstructParticle() G4Gamma::GammaDefinition(); G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); - if (options_.msc != MscModelSelection::none) + if (options_.msc != MscModelSelection::none || options_.coulomb_scattering) { G4Proton::ProtonDefinition(); } @@ -371,14 +371,17 @@ void CelerEmStandardPhysics::add_e_processes(G4ParticleDefinition* p) else { auto process = std::make_unique(); - auto model = std::make_unique( - /* isCombined = */ options_.msc != MMS::none); + auto model = std::make_unique(); if (set_energy_limit) { process->SetMinKinEnergy(msc_energy_limit); model->SetLowEnergyLimit(msc_energy_limit); model->SetActivationLowEnergyLimit(msc_energy_limit); } + if (options_.msc == MMS::none) + { + G4EmParameters::Instance()->SetMscThetaLimit(0); + } CELER_LOG(debug) << "Loaded single Coulomb scattering with " "G4eCoulombScatteringModel from "