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 conversion of Geant4 transforms and basic solids to ORANGE #1169

Closed sethrj closed 3 months ago

sethrj commented 3 months ago

This adds support for some of the basic Geant4 shapes and solids:

It also adds:

See https://github.com/celeritas-project/celeritas/issues/1167.

To test the translation, a unit test converts the shapes, builds them in to surfaces, and evaluates a list of points for "is inside" and compares them to the "is inside" result from Geant4 shapes.

@drbenmorgan A few things that #1132 would help clear up so far:

sethrj commented 3 months ago

@elliottbiondo I see that this one is a bit large; I can break off a couple of pieces if you want.

elliottbiondo commented 3 months ago

If there is a quick way of splitting it in half that would be great, but I can review it as-is as well

sethrj commented 3 months ago

@elliottbiondo @mrguilima If this is too big I can break it further into [scaler+transformer, converter]. But the first two are important to understanding the second.

mrguilima commented 3 months ago

Looks good to me. Thanks, @sethrj!