Closed sethrj closed 3 months ago
@elliottbiondo I see that this one is a bit large; I can break off a couple of pieces if you want.
If there is a quick way of splitting it in half that would be great, but I can review it as-is as well
@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.
Looks good to me. Thanks, @sethrj!
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:
#if G4VERSION_NUMBER >= ....
to get a consistent interfacestd::optional<...> inner_shape;
instead ofrmin == 0
GetStartPhi
in some places andGetStartPhiAngle
in others