Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend Mott coefficients to include positrons and higher Z elements #1395

Merged
merged 3 commits into from
Sep 9, 2024

Conversation

amandalund
Copy link
Contributor

As @sethrj pointed out in #1392, the coefficients used to calculate the ratio of the Mott to Rutherford cross sections are provided in Boschini et al (2013) for 1 <= Z <= 118 for electrons and positrons. Geant4 includes that data in G4MottData.hh, but only for electrons and only for Z up to 92; this is what we were previously doing as well. This PR extends the data to include coefficients for higher Z elements and positrons.

Fails for positrons with `src/celeritas/random/distribution/RejectionSampler.hh:90:
celeritas: precondition failed: fmax_ >= f_"`
@amandalund amandalund added enhancement New feature or request physics Particles, processes, and stepping algorithms labels Sep 8, 2024
@amandalund amandalund requested a review from sethrj September 8, 2024 18:43
Copy link
Member

@sethrj sethrj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Where did you get these numbers in tabulated form?? I also noticed in the Boschini paper a casual remark about the previous papers having typographical errors... and finally, do we know whether Geant4 uses these? Looking at the "single scattering" physics list on master I see

  if(param->UseMottCorrection()) {
    ss = new G4eDPWACoulombScatteringModel();
  } else {
    ss = new G4eCoulombScatteringModel(false);
  }

src/celeritas/em/params/WentzelOKVIParams.cc Show resolved Hide resolved
@amandalund
Copy link
Contributor Author

I pulled the tables from here. It looks like Geant4 is also using the values from Boschini, not Lijian: they reference a 2011 Boschini paper in G4MottData.hh and that the coefficients were recalculated using the same procedure as in Lijian. And yeah, I also noticed when looking into #1391 that Geant4 by default uses that other model in the single Coulomb scattering physics list, which I don't think uses these?

@sethrj
Copy link
Member

sethrj commented Sep 9, 2024

Sounds good. I was more wondering if you OCR/copy-pasted/manually transcribed them, or whether you found a database that the authors made available. Thanks!

@sethrj sethrj merged commit 172f250 into celeritas-project:develop Sep 9, 2024
31 checks passed
@amandalund
Copy link
Contributor Author

Yeah I didn't see any database, so copy-pasted + some python parsing/reformatting.

@amandalund amandalund deleted the extend-mott-coeffs branch September 9, 2024 14:45
@sethrj
Copy link
Member

sethrj commented Sep 9, 2024

Cool thanks! Hopefully Celeritas can be a resource in the future for anyone who needs to use those coefficients in the future...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request physics Particles, processes, and stepping algorithms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants