-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add scattering #34
Add scattering #34
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all seems reasonable to me. I have some nitpicky comments below. But I also wanted to bring up a few broader comments which don't need to be addressed now:
-
Are we distinguishing between elastic and inelastic scattering here?
-
I think we should explicitly thread the angle dependence through at least somewhat here. It'll matter for inelastic scattering especially. But even for elastic, there's angle dependence. Often written in terms of my=cos(theta)
-
I am increasingly uncomfortable about how much boiler plate we're introducing for a variant that just turns units on and off. I wonder if there's some way to just put the units directly in the underlying cgs object? Or use compile-time inheritance? That can be a discussion for another time though.
I'm willing to merge now, @brryan but I'd prefer to thread through the angle dependence sooner rather than later.
Also would be interested to hear what @lroberts36 thinks as far as whether or not this infrastructure captures everything needed in the neutrino case.
OK @Yurlungur I think this is ready to go now if you're happy with it. Thanks for the careful review. |
The most general objects one would need are the scattering and absorption differential cross sections per volume for species For scattering, it looks like the current infrastructure is setup to return It seems like including inelastic scattering will require some generalization of the infrastructure. |
Thanks @lroberts36 . In nubhlight, I used exactly the elastic scattering off of nucleons... Plus corrections for things like non-sphericity, shielding etc, which made it a bit nastier. Does inelastic scattering require a change to the API do you think? Or can it be hidden under the hood? Sounds like perhaps if we can use a moment approximation, the under-the-hood approach would work? |
@Yurlungur I think inelastic scattering requires a extension of the API to include a method that takes |
Do you think that should be a new function or should the current functions be extended? I lean towards a new function specifically for inelastic, but I could be convinced the other way |
I think it should be a separate function. |
This all seems reasonable to me |
This PR adds scattering and mean scattering variants (gray opacity only right now) to neutrinos