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
62 stars 33 forks source link

Add basic raytrace components #1194

Closed sethrj closed 5 months ago

sethrj commented 5 months ago

This restructures the data backend and core raytracing kernel from demo-rasterizer. That app is now temporarily disabled, to be restored in #1191.

This is working toward https://github.com/celeritas-project/celeritas/issues/778 . It refactors the GPU-only kernel as an executor and a couple of helper classes. Unlike the demo rasterizer, the current imager and ray tracer should be compatible with any combination of geometry and execution space.

sethrj commented 5 months ago

@elliottbiondo This next please. Even though I have others that are in the queue, I'd like to get the "capability" requests in before the performacne ones.

sethrj commented 5 months ago

@elliottbiondo Does af5b5d0bafa13d9d2f3d7ca5f8286f964abee007 address the documentation/explanation well enough?

elliottbiondo commented 5 months ago

@sethrj I am familiar with the the upper-left origin convention and think it's good to have here. My comment was w.r.t. why the downward basis vector is being set to a diagonal:

"Set downward axis to the diagonal with the rightward component"

sethrj commented 5 months ago

@elliottbiondo You missed the second line of the comment:

    // Set downward axis to the diagonal with the rightward component
    // subtracted out; then normalize

i.e. it's turning the diagonal vector into an orthonormal vector by projecting the diagonal onto the rightward basis vector, subtracting out, and normalizing.

elliottbiondo commented 5 months ago

@sethrj okay I see what you mean. I think something like "calculate the downward vector from the diagonal" would be more straightforward.