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.
This adds a minimal reproducer demonstrating #1260 (which is still disabled), adds a minimal GDML failure (union volume with a daughter), and then:
Forces all LVs with a union/polysolid boundary to be explicitly inlined into the parent volume
Fixes an incorrect doubly applied transformation to "explicit" background cells (i.e. parents with children subtracted).
The force-inlining may be very inefficient but at least allows us a working solution while we implement a better longer-term alternative. It also creates universes with many more surfaces than before, which means that the surface hash acceleration from #1183 needs to be merged for performance reasons for nontrivial problems.
Tilecal top-level universe:
Raytrace at y=0:
Raytrace at x=1.8m still shows some issues with the GenTrap's positioning somehow:
This adds a minimal reproducer demonstrating #1260 (which is still disabled), adds a minimal GDML failure (union volume with a daughter), and then:
The force-inlining may be very inefficient but at least allows us a working solution while we implement a better longer-term alternative. It also creates universes with many more surfaces than before, which means that the surface hash acceleration from #1183 needs to be merged for performance reasons for nontrivial problems.
Tilecal top-level universe:
Raytrace at y=0:
Raytrace at x=1.8m still shows some issues with the GenTrap's positioning somehow: