celeritas-project / celeritas

Celeritas is a new Monte Carlo transport code designed to accelerate scientific discovery in high energy physics by improving detector simulation throughput and energy efficiency using GPUs.
https://celeritas-project.github.io/celeritas/user/index.html
Other
58 stars 32 forks source link

Add optical absorption and Rayleigh interactors #1317

Open hhollenb opened 2 weeks ago

hhollenb commented 2 weeks ago

Add optical absorption and Rayleigh interactors and respective tests to be able to do initial testing of optical models. Also includes an optical Interaction class for the results of discrete optical interactions.

New files are placed in the celeritas::optical namespace, so the class and file names do not have the usual Optical prefix. Both interactors don't depend on any physics or material data, so they're rather simple.

The optical::TackView class is just a placeholder for testing, and will need to be changed later for when the optical state and track code is set up. I'm including it now so that RayleighInteractor's function signature will match the usual pattern of passing a track view, and also removes ambiguity of passing two Real3 arrays to a function.