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

Convert Geant4 geometry to ORANGE #1167

Open sethrj opened 6 months ago

sethrj commented 6 months ago

Objects and structure

Transforms

Geant4 CSG solids:

Booleans in Geant4 have some restrictions: they must be contiguous, subtractions can't delete a face, ...

Solids

VecGeom/Geant4 solids with radial/azimuthal sections:

VecGeom/Geant4 "csg" solids:

Geant4 solids (not implemented in vecgeom):

[^1]: vecgeom supports extruded solid only with 2 sections, unit scale factors, and zero offsets [^2]: tesselated solid isn't implemented in vecgeom GPU

Logical volumes

Logical volumes start off as a solid with an extra name. They can be reflected using the G4ReflectionFactory, which effectively adjusts their transformation.

They also have daughters, which are physical volumes (see below). As a first pass, logical volumes should be created as solids with a vector of daughters. We can then convert some of these into protos.

Physical volumes

Physical volumes are some kind of modification of a logical volume:

The world is a physical volume.

Use cases

HGCAL

There are no reflections, and the maximum depth of logical volumes is 9.

hgcal-volumes.pdf

TrackML

Dune

EMEC (generic trapezoid)

TileCal

ZDC