You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AdePT can be built against VecGeom compiled with -DSINGLE_PRECISION=ON. When this happens, vecgeom::Precision typedef becomes float and all geometry interfaces work in single precision automatically. The examples were adapted to use automatically this feature when available. To validate and test performance in this mode, we should:
verify that the latest examples (starting with example12) compile and run in this mode (may not be the case for full CMS geometry)
validate the output against standard double precision mode, understand differences and provide fixes if possible
benchmark TestEM3 and more complex geometry examples
The text was updated successfully, but these errors were encountered:
The correctness of TestEm3 should be addressed by #163. However, more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad.
more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad
We expected this since not all solids are for the moment single-precision proof, in particular the complex ones (polycone, polyhedra). We will need to continue the case-by-case shape_testXXX single-precision debugging to make the single-precision mode more robust.
The correctness of TestEm3 should be addressed by #163. However, more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad.
This turns out to be the reason for the wrong results when activating magnetic field in TestEm3: During field propagation, especially of low energy particles, the chordLen will get smaller than kPush. In that case, even though the pushing is temporary, the navigator has to assume that there is no boundary, just because it doesn't make sense to query a negative distance. This essentially leads to particles not seeing any boundary anymore, and depositing their energy in the wrong volume / material.
AdePT can be built against VecGeom compiled with -DSINGLE_PRECISION=ON. When this happens, vecgeom::Precision typedef becomes
float
and all geometry interfaces work in single precision automatically. The examples were adapted to use automatically this feature when available. To validate and test performance in this mode, we should:The text was updated successfully, but these errors were encountered: