Skip to content
Success

Changes

Summary

  1. Fix missing explicit instantiations in ORANGE CSB (#1124) (details)
  2. Workaround missing G4persistency target bug in Geant4 11.2 (#1122) (details)
  3. Add compile-time consistency check for Celeritas and Geant4 versions (#1123) (details)
  4. Add infix string builder (#1121) (details)
  5. Implement convex regions (#1119) (details)
  6. Implement second-order convex regions (#1125) (details)
  7. Add shape and volume builder (#1126) (details)
  8. Transform refactoring (#1127) (details)
  9. Add ORANGE, geocel, and file layout documentation  (#1134) (details)
  10. Use correct form of enable_if for functions (#1135) (details)
  11. Add transformed object construction (#1128) (details)
  12. Add CSG operations on objects (#1130) (details)
  13. Fix Moller-Bhahba energy distribution (#1138) (details)
  14. Fix single-precision soft equivalence for plane (#1139) (details)
  15. Add transform simplifier (#1131) (details)
  16. Fix missing Werror in build-fast workflow (#1141) (details)
  17. Add JSON output for CSG objects (#1133) (details)
  18. Add CSG wedge and helper functions (#1142) (details)
Commit 6fc681a6f2832c7a42fdb96c73fab35551cb1087 by noreply
Fix missing explicit instantiations in ORANGE CSB (#1124)

The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.cc (diff)
Commit 23ee7e05311b6de49a3251040f405d0f19a229fa by noreply
Workaround missing G4persistency target bug in Geant4 11.2 (#1122)

* Workaround missing G4persistency target bug in Geant4 11.2

Geant4 11.2 split the G4persistency target into subcomponents:

- G4mctruth
- G4geomtext
- G4gdml (optional, only if Geant4 built with GDML support)

and so projects use the direct CMake targets will fail to link
these versions. A bug fix will be made in Geant4 itself to address
this.

Workaround issue in Celeritas by translating request for "persistency"
target in celeritas_get_g4libs to appropriate underlying targets. Use
translation rather than creation of our own imported target to:

- avoid possible (albeit unlikely) clashes with other projects that
  might create the same target.
- Reduce dependence on use of Celeritas' FindGeant4 wrapper by downstream
  projects.

* Ignore request for G4tasking if G4 11.2+

* Simplify logic of Geant4 target checking

Check obvious case first, then the special cases for persistency
and tasking. Post-process list to remove duplicates to avoid
ld warnings observed on macOS.
The file was modified cmake/CeleritasUtils.cmake (diff)
Commit 8230b451319ebd7b53f580228798f0f76b2625ec by noreply
Add compile-time consistency check for Celeritas and Geant4 versions (#1123)

The file was modified src/geocel/GeantGeoUtils.cc (diff)
Commit 2a12fc945d065f40e2a858dd6c54be12d6116f82 by noreply
Add infix string builder (#1121)

* Add infix string builder
* Add nodiscard attribute
* Address feedback
The file was modified src/orange/orangeinp/CsgTreeUtils.cc (diff)
The file was modified src/orange/orangeinp/CsgTreeUtils.hh (diff)
The file was addedsrc/orange/orangeinp/detail/InfixStringBuilder.hh
The file was modified test/orange/orangeinp/CsgTreeUtils.test.cc (diff)
Commit f556a5e0161fad833da83bc43d7ed4bcd2c5b0dd by noreply
Implement convex regions (#1119)

* Add reusable convex regions
* Add test
* Test local bounding boxes
* Add functions to adjust interior/exterior bounding boxes
* Add interior bbox for cone
* Rename ConvexRegion to ConvexRegionInterface
* Reformat test
* Reduce unit test printing output to work better with single precision
* Add convex surface bzone joiner
* Prevent negative zeros in simplified cone origin
* Remove unneessary explicit keyword
* REVERTME: move second-order convex regions to a follow-on PR
* Improve docs
* Add to-do note
The file was addedtest/orange/orangeinp/ConvexRegion.test.cc
The file was modified src/orange/orangeinp/detail/ConvexSurfaceState.hh (diff)
The file was modified test/orange/BoundingBoxUtils.test.cc (diff)
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.cc (diff)
The file was modified test/orange/orangeinp/detail/CsgUnitBuilder.test.cc (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/BoundingBoxUtils.hh (diff)
The file was modified test/orange/orangeinp/CsgTestUtils.cc (diff)
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.hh (diff)
The file was modified test/orange/CMakeLists.txt (diff)
The file was addedsrc/orange/orangeinp/ConvexRegion.hh
The file was modified test/geocel/BoundingBox.test.cc (diff)
The file was addedsrc/orange/orangeinp/ConvexRegion.cc
The file was addedsrc/orange/orangeinp/detail/ConvexSurfaceState.cc
The file was modified src/orange/surf/SurfaceClipper.cc (diff)
Commit 9e42bd8bb5d251f32a7934e86746d0dbc46cf896 by noreply
Implement second-order convex regions (#1125)

* Revert "REVERTME: move second-order convex regions to a follow-on PR"
* Fix signed zeros in quadric converters
* Address review feedback
The file was modified src/orange/surf/detail/QuadricConeConverter.hh (diff)
The file was modified test/orange/orangeinp/ConvexRegion.test.cc (diff)
The file was modified src/orange/orangeinp/ConvexRegion.cc (diff)
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.hh (diff)
The file was modified src/orange/surf/detail/QuadricCylConverter.hh (diff)
The file was modified src/orange/surf/detail/QuadricSphereConverter.hh (diff)
The file was modified src/orange/MatrixUtils.hh (diff)
The file was modified src/orange/orangeinp/ConvexRegion.hh (diff)
Commit 3ded3def28946f6a92a4c16fcb7eac4bf69d0ddb by noreply
Add shape and volume builder (#1126)

* Add 'inserted' result to CSG tree
* Return insertion from CSG unit builder
* Fix test JSON output for CSG tree
* Add script for generating graphs from CSG tree
* Add shape, object, and sketch volume builder
* Add shape test and volume construction
* Rename {Shape, ShapeImpl} -> {ShapeBase, Shape} and add constructor
The file was modified src/orange/orangeinp/CsgTree.hh (diff)
The file was addedsrc/orange/orangeinp/ObjectInterface.hh
The file was modified test/orange/orangeinp/CsgTestUtils.cc (diff)
The file was addedsrc/orange/orangeinp/Shape.cc
The file was addedsrc/orange/orangeinp/detail/VolumeBuilder.hh
The file was modified test/orange/orangeinp/ConvexSurfaceBuilder.test.cc (diff)
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.cc (diff)
The file was modified test/orange/orangeinp/CsgTree.test.cc (diff)
The file was modified src/orange/orangeinp/CsgTree.cc (diff)
The file was addedsrc/orange/orangeinp/detail/VolumeBuilder.cc
The file was addedtest/orange/orangeinp/Shape.test.cc
The file was addedsrc/orange/orangeinp/Shape.hh
The file was modified test/orange/orangeinp/ConvexRegion.test.cc (diff)
The file was modified src/orange/orangeinp/detail/CsgUnit.hh (diff)
The file was modified test/orange/CMakeLists.txt (diff)
The file was addedscripts/user/orange-csg-to-dot.py
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.cc (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.hh (diff)
The file was modified test/orange/orangeinp/detail/CsgUnitBuilder.test.cc (diff)
The file was modified test/orange/orangeinp/CsgTreeUtils.test.cc (diff)
Commit af25d9ba9df624ed63fde9ce2af03ab2114cd993 by noreply
Transform refactoring (#1127)

* Use optional bounding zones instead of required bboxes
* Rename surface accessor
* Define a base class for testing objects
* Add transforms to each region
* Add streamable variant
The file was modified test/orange/orangeinp/ConvexRegion.test.cc (diff)
The file was addedsrc/corecel/io/StreamableVariant.hh
The file was modified src/orange/orangeinp/detail/VolumeBuilder.cc (diff)
The file was modified test/orange/CMakeLists.txt (diff)
The file was modified test/orange/orangeinp/Shape.test.cc (diff)
The file was modified src/orange/orangeinp/detail/VolumeBuilder.hh (diff)
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.cc (diff)
The file was addedtest/orange/orangeinp/ObjectTestBase.cc
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.hh (diff)
The file was addedtest/orange/orangeinp/ObjectTestBase.hh
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.cc (diff)
The file was modified test/orange/orangeinp/CsgTestUtils.cc (diff)
The file was removedtest/orange/orangeinp/detail/CsgUnitBuilder.test.cc
The file was modified test/orange/orangeinp/CsgTestUtils.hh (diff)
The file was modified src/orange/orangeinp/detail/CsgUnit.hh (diff)
The file was modified test/orange/orangeinp/ConvexSurfaceBuilder.test.cc (diff)
Commit e0340e24f2f5c64198429ae525721b024d844363 by noreply
Add ORANGE, geocel, and file layout documentation  (#1134)

* Add file hierarchy and updated references
* Fix span doc style
* Move include
* Add geocel library
* Add sphinxcontrib mermaid
* Add ORANGE documentation
* Finish solid/extruded solid discussion
* Apply suggestions from code review
The file was modified CMakeLists.txt (diff)
The file was modified src/corecel/cont/Span.hh (diff)
The file was modified doc/CMakeLists.txt (diff)
The file was modified doc/_static/references.bib (diff)
The file was addeddoc/main/api/geocel.rst
The file was modified doc/main/api/orange.rst (diff)
The file was modified doc/main/api.rst (diff)
The file was modified scripts/docker/build.sh (diff)
The file was modified doc/conf.py (diff)
The file was modified scripts/requirements.txt (diff)
The file was modified README.md (diff)
The file was modified doc/config.json.in (diff)
The file was modified doc/main/api/celeritas.rst (diff)
The file was modified scripts/spack.yaml (diff)
The file was modified doc/_static/celeritas.bib (diff)
Commit 2f8cc5e535cc9cc25eb40b76a4bb2d70610e2030 by noreply
Use correct form of enable_if for functions (#1135)

The file was modified src/corecel/sys/MpiOperations.hh (diff)
The file was modified src/corecel/math/Algorithms.hh (diff)
Commit 507f55c869747e193f7fd82df0ae5400cf84130b by noreply
Add transformed object construction (#1128)

* Add transformed shape
* Fix single-precision casting
* Add docs
The file was addedtest/orange/orangeinp/Transformed.test.cc
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.cc (diff)
The file was addedsrc/orange/orangeinp/Transformed.cc
The file was modified src/orange/orangeinp/detail/VolumeBuilder.cc (diff)
The file was modified src/orange/transform/detail/TransformTransformer.hh (diff)
The file was addedsrc/orange/orangeinp/Transformed.hh
The file was modified test/orange/CMakeLists.txt (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/orangeinp/detail/VolumeBuilder.hh (diff)
Commit 25c67f9b5ec7535546338280ae494cffea07fb2e by noreply
Add CSG operations on objects (#1130)

The file was modified src/orange/orangeinp/Shape.cc (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.hh (diff)
The file was addedsrc/orange/orangeinp/CsgObject.hh
The file was addedtest/orange/orangeinp/CsgObject.test.cc
The file was modified test/orange/CMakeLists.txt (diff)
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.cc (diff)
The file was modified src/orange/orangeinp/detail/VolumeBuilder.hh (diff)
The file was modified src/orange/orangeinp/detail/BoundingZone.hh (diff)
The file was addedsrc/orange/orangeinp/CsgObject.cc
The file was modified src/orange/orangeinp/detail/VolumeBuilder.cc (diff)
The file was modified test/orange/orangeinp/detail/BoundingZone.test.cc (diff)
Commit 64288cbcc309b75c9402c967a4d83a994d5c5af6 by noreply
Fix Moller-Bhahba energy distribution (#1138)

* Fix Moller-Bhabha energy distributions
* Update all the tests
The file was modified src/celeritas/em/distribution/BhabhaEnergyDistribution.hh (diff)
The file was modified src/celeritas/em/distribution/MollerEnergyDistribution.hh (diff)
The file was modified test/celeritas/em/MollerBhabha.test.cc (diff)
The file was modified test/celeritas/user/Diagnostic.test.cc (diff)
The file was modified test/celeritas/global/Stepper.test.cc (diff)
Commit f570558387192f6ba38ed5edd73c6c6e97696877 by noreply
Fix single-precision soft equivalence for plane (#1139)

* Uninline local surface inserter

* Fix relative instead of absolute tolerance

* Add test demonstrating failure for single-precision LSI

* Add surface soft equal documentation for plane

* Add additional plane test

* Fix plane comparison by adding extra machine precision

* Fix pedantic semicolons

* fixup! Fix relative instead of absolute tolerance
The file was modified doc/CMakeLists.txt (diff)
The file was modified src/orange/surf/SoftSurfaceEqual.cc (diff)
The file was addeddoc/_static/orange-surface-softeq-plane.png
The file was modified src/orange/surf/RecursiveSimplifier.hh (diff)
The file was modified src/orange/orangeinp/detail/LocalSurfaceInserter.hh (diff)
The file was modified src/orange/orangeinp/ConvexSurfaceBuilder.cc (diff)
The file was modified src/orange/orangeinp/detail/LocalSurfaceInserter.cc (diff)
The file was modified test/orange/orangeinp/detail/LocalSurfaceInserter.test.cc (diff)
The file was modified test/orange/surf/SoftSurfaceEqual.test.cc (diff)
Commit fcc0a896b63e5723d7303ac594acc00da651e4db by noreply
Add transform simplifier (#1131)

* Add trace utility for matrices
* Add arbitrary-direction rotation matrix helper
* Add transform simplifier
* Fix and document single precision issues
* Add deduplication test
* Deduplicate transforms on insertion
* Address review feedback
The file was modified test/orange/MatrixUtils.test.cc (diff)
The file was modified src/orange/surf/SurfaceSimplifier.hh (diff)
The file was modified src/orange/MatrixUtils.cc (diff)
The file was modified src/orange/MatrixUtils.hh (diff)
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.hh (diff)
The file was modified test/orange/orangeinp/Transformed.test.cc (diff)
The file was modified src/orange/surf/SoftSurfaceEqual.hh (diff)
The file was addedsrc/orange/transform/TransformSimplifier.hh
The file was modified test/corecel/math/Algorithms.test.cc (diff)
The file was addedsrc/orange/transform/TransformSimplifier.cc
The file was modified src/orange/orangeinp/detail/CsgUnitBuilder.cc (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was addedtest/orange/transform/TransformSimplifier.test.cc
The file was modified test/orange/CMakeLists.txt (diff)
Commit 18f4ae60832c06e70d24b915f0781df38474e038 by noreply
Fix missing Werror in build-fast workflow (#1141)

* Reapply "Fix missing Werror in build-fast workflow"

* Silence warning

* Try to make gcc happy
The file was modified .github/workflows/build-fast.yml (diff)
The file was modified test/corecel/data/DeviceAllocation.test.cc (diff)
Commit 2596ea833edcf5ab8f5ceceb9d879bad68233ef8 by noreply
Add JSON output for CSG objects (#1133)

* Add accessors to convex region
* Add Span IO
* Add accessors to CSG objects
* Add string output to transform type
* Add JSON pimpl helper
* Implement object output
The file was modified src/orange/orangeinp/CsgObject.cc (diff)
The file was modified src/orange/orangeinp/Transformed.cc (diff)
The file was modified src/orange/orangeinp/Transformed.hh (diff)
The file was modified test/orange/orangeinp/Shape.test.cc (diff)
The file was modified src/orange/OrangeTypes.hh (diff)
The file was modified src/orange/orangeinp/CsgObject.hh (diff)
The file was modified test/orange/orangeinp/ConvexRegion.test.cc (diff)
The file was modified src/corecel/io/JsonPimpl.hh (diff)
The file was modified src/orange/orangeinp/ConvexRegion.hh (diff)
The file was addedsrc/corecel/cont/SpanIO.json.hh
The file was modified src/orange/orangeinp/ConvexRegion.cc (diff)
The file was modified src/orange/orangeinp/Shape.cc (diff)
The file was addedsrc/orange/orangeinp/ObjectIO.json.cc
The file was modified src/orange/orangeinp/ObjectInterface.hh (diff)
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/OrangeTypes.cc (diff)
The file was modified src/orange/orangeinp/Shape.hh (diff)
The file was modified test/orange/orangeinp/CsgObject.test.cc (diff)
The file was addedsrc/orange/orangeinp/ObjectIO.json.hh
Commit 755456f79f398ce0e88a28924e4ee0d54634f114 by noreply
Add CSG wedge and helper functions (#1142)

* Add  eumod helper function
* Add infinite wedge and test
* Move shape construction into helper function
* Insert period after prefix for face builder
* Restrict start angle to [0,1)
The file was modified src/orange/orangeinp/ObjectIO.json.cc (diff)
The file was modified test/corecel/math/Algorithms.test.cc (diff)
The file was modified src/orange/orangeinp/Shape.hh (diff)
The file was modified src/orange/orangeinp/ConvexRegion.cc (diff)
The file was addedsrc/orange/orangeinp/detail/BuildConvexRegion.hh
The file was modified src/orange/orangeinp/ConvexRegion.hh (diff)
The file was modified test/orange/orangeinp/ConvexRegion.test.cc (diff)
The file was modified src/orange/orangeinp/Shape.cc (diff)
The file was modified test/orange/surf/FaceNamer.test.cc (diff)
The file was modified src/corecel/math/Algorithms.hh (diff)
The file was addedsrc/orange/orangeinp/detail/BuildConvexRegion.cc
The file was modified src/orange/CMakeLists.txt (diff)
The file was modified src/orange/orangeinp/ObjectIO.json.hh (diff)
The file was modified test/orange/orangeinp/ConvexSurfaceBuilder.test.cc (diff)
The file was modified src/orange/surf/FaceNamer.hh (diff)