v0.6.0-rc.1
Pre-release
Pre-release
This pre-release will be used for running the Geant4 GPU benchmark problems.
What's Changed
- Store edge bounding boxes on BIH and refactor for upcoming intersection capabilities by @elliottbiondo in #1478
- Improve logger when using either CUDA or MPI by @sethrj in #1482
- Check VecGeom BVH device pointers at setup and run time by @sethrj in #1481
- Implement optical Rayleigh model by @hhollenb in #1469
- Fix unnecessary linking when using VecGeom+CUDA by @pcanal in #1487
- Fix dBVH memcpy size by @esseivaju in #1490
- Fix/standardize multi-level.gdml file and improve debug logging by @sethrj in #1493
- Use canonical loop form with OpenMP by @amandalund in #1492
- Allow core and optical loops to have different numbers of track slots by @amandalund in #1491
- Add muon decay interactor by @stognini in #1456
- Fix linking Athena with VecGeom+CUDA by @pcanal in #1489
- Reconstruct "touchable" using navigation hierarchy by @sethrj in #1495
- Work around RDC-related link errors when +cuda+vecgeom~shared by @esseivaju in #1498
- Move
alongstepdirectory to top level by @sethrj in #1499 - Fix redundant move warning by @esseivaju in #1500
- Fix documentation by @sethrj in #1502
- Default SD integration to "true" by @sethrj in #1501
- Add debugging information for app tests by @sethrj in #1504
- Refactor muon bremsstrahlung angular distribution by @amandalund in #1509
- Add FourVector helper functions by @sethrj in #1510
- Define hypotenuse function using fma by @sethrj in #1513
- Add a CI job for c++20 by @esseivaju in #1511
- Fix celer-sim MC truth ROOT output file generation during tests by @stognini in #1515
- Split CeleritasUtils cmake and use VecGeom RDC if available by @sethrj in #1514
- Hotfix: Disable ROCm due to now-unsupported CI OS image by @sethrj in #1521
- Update post-PR workflow to
actions/download-artifact@v4by @esseivaju in #1523 - Add a helper class for inverse transform sampling by @amandalund in #1525
- Require clang-tidy in CI by @esseivaju in #1524
- Stop CMake from cleaning root test data by @hhollenb in #1516
- Trim export data for unit tests by @sethrj in #1527
- Add CITATION file with CHEP 2024 article by @sethrj in #1529
- Add option to use spline-interpolated energy loss by @lebuller in #1496
- Add an Optical WLS by @whokion in #1507
- Rename Cerenkov to Cherenkov by @amandalund in #1533
- Add muon pair production by @amandalund in #1518
- Update Readme and Contributing doc by @pcanal in #1532
- Tidy headers by @esseivaju in #1534
- Fix hepmc3/macro initialization in celer-g4 by @sethrj in #1535
- Clean up optical mock test data by @hhollenb in #1519
- Run clang-tidy on modified files only by @esseivaju in #1531
- Store a single process-integrated energy loss and range table per particle by @amandalund in #1536
- Add piecewise integrator and CDF utilities by @sethrj in #1537
- Fix clang-tidy weekly cron by @esseivaju in #1541
- Extend BIH capabilities for intersection operations by @elliottbiondo in #1479
- Remove curand performance test by @sethrj in #1543
- Add along-step and tracking cut optical executors by @sethrj in #1540
- Add missing shell setup in README by @pcanal in #1545
- Enable optical stepping loop by @sethrj in #1546
- Simplify UnitProto after building a CsgUnit by @esseivaju in #1415
- Implement device bitset by @esseivaju in #1547
- Build VecGeom in weekly clang-tidy cron by @esseivaju in #1551
- Document and slightly refactor Bethe-Heitler interactor by @sethrj in #1553
- Define precision-agnostic Constant class by @sethrj in #1549
- Adapt bitset word size by @esseivaju in #1554
- Fix accel examples and related CI issues by @sethrj in #1557
- Update copyrights by @sethrj in #1560
- Prepare to update copyrights by @sethrj in #1559
- Update docker and Spack CI by @sethrj in #1555
- Enable more dependencies in clang-tidy checks by @esseivaju in #1561
- Reduce
celer-simmemory usage and improve itsCELER_LOGtransport output by @stognini in #1550 - Support sense caching for future lazy evaluation by @esseivaju in #1539
- Support building infix logic representation by @esseivaju in #1530
- Update CMake policy by @sethrj in #1563
- Add 'LogicalTrue' functor by @sethrj in #1564
- Fix Doxygen member group formatting by @amandalund in #1567
- Fix unnecessary use of inline constexpr by @sethrj in #1568
- Replace "volid" with "vol_id" throughout ORANGE by @elliottbiondo in #1486
- Compose caching functionality of LazySenseCalculator by @esseivaju in #1569
- Update expected safeties in Vecgeom tests and CMake version range by @mrguilima in #1552
- Add support for Geant4 navigator through offload interface by @sethrj in #1558
- Hotfix: fetch tags manually to fix CI by @sethrj in #1580
- Fix spurious vecgeom warning by @sethrj in #1584
- Import and use muon+hadron EM physics parameters by @amandalund in #1581
- Update Perlmutter env by @esseivaju in #1587
- Add ARM runner to CI by @sethrj in #1585
- Require less ancient CUDA architecture and OpenMP implementation by @sethrj in #1578
- Fix weird edge cases when trying to
find_package(Celeritas)by @sethrj in #1586 - Propagate code citations into user manual by @sethrj in #1575
- Extend Coulomb scattering to support additional particle types by @amandalund in #1574
- Use lazy sense calculator by @esseivaju in #1576
- Release v0.5.1 by @sethrj in #1577
- Improve and fix documentation by @sethrj in #1588
- Improve diagnostic output when offloading by @sethrj in #1589
- Add optical model importer and refactor imported optical materials by @hhollenb in #1520
- Add example offloading template by @stognini in #1573
- Output diagnostic information about core sizes by @sethrj in #1591
- Change PrimaryGeneratorAction to be a wrapper by @sethrj in #1593
- Simplify and add to system config diagnostics by @sethrj in #1590
- Add global Celeritas input definition by @sethrj in #1562
- Set step length and other data in reconstructed tracks by @sethrj in #1595
- Refactor primary generator using new
inpby @sethrj in #1583 - Add hit manager output diagnostic by @sethrj in #1596
- Update core advisors by @sethrj in #1598
- Always select at-rest process for stopped tracks by @amandalund in #1592
- Add postfix to infix conversion utility by @esseivaju in #1582
- Write out optical size diagnostic by @sethrj in #1597
- Move physics lists out of details and rename tracking offload by @sethrj in #1603
- Use BIH to accelerate background_intersect by @elliottbiondo in #1599
- Update perfetto to v49.0 by @esseivaju in #1608
- Use external G4VG by @sethrj in #1605
- Add TrackingManagerConstructor and SharedParams::GetMode by @sethrj in #1606
- Move
PolyEvaluatorto corecel/math by @amandalund in #1610 - Add JLSE CMake preset and a few small fixes by @amandalund in #1611
- Add ultra-simple tracking manager integration by @sethrj in #1609
- Fix multiple
release()calls to ensure nullptr is not used in process construction by @amandalund in #1612 - Rename fast simulation offload by @sethrj in #1613
- Implement cubic spline interpolation by @amandalund in #1607
- Rename
Genericgrid toNonuniformby @amandalund in #1616 - Add a calculator to integrate range from energy loss by @amandalund in #1544
- Add G4Ellipsoid without bottom/top cuts by @elliottbiondo in #1617
- Fix CUDA+VecGeom linking with Ubuntu by @pcanal in #1618
- Add comment directing to CMake doc of feature being used by @pcanal in #1619
- Rename
EXTERNALCMake variable by @sethrj in #1621 - Add safety visualization tool by @sethrj in #1614
- Remove pointers from Geant4 labels by @sethrj in #1620
- Support different grid spacings for cross section data by @amandalund in #1622
- Add high-level user/fast sim integration helpers by @sethrj in #1615
- Support spline interpolation on a nonuniform grid by @amandalund in #1625
- Fix crash in multithreaded celer-g4 by @amandalund in #1627
- Prune primaries that start outside the world volume by @sethrj in #1624
- Fix loading of GDML files with reflection by @sethrj in #1626
- Add generic geometry test interface to reduce duplication by @sethrj in #1623
- Bump VecGeom minimum version to 1.2.10 by @pcanal in #1628
- Fix navigation and mapping of reflecting volumes by @sethrj in #1629
- Construct CoreParams from new problem input in celer-sim by @sethrj in #1601
- Flush perfetto TrackEvents by @esseivaju in #1630
- Move Geant4 SD integration into celeritas/ext by @sethrj in #1631
- Add perfetto track counters to accel LocalTransporter by @esseivaju in #1634
- Fix reading and writing HepMC3 events by @amandalund in #1635
- Improve testing and documentation for VecGeom by @sethrj in #1639
- Fix rendering of README by @dalg24 in #1640
- Add support for Z cuts when converting G4Solids by @elliottbiondo in #1638
- Update externals and enforce G4VG version by @sethrj in #1641
- Add ORCID to citation by @esseivaju in #1645
- Increase ccache size for asanlite job by @sethrj in #1646
- Update cmake-git-version by @sethrj in #1643
- Fix
getenv_flagby @amandalund in #1647 - Refactor log handlers for better reuse by @sethrj in #1636
- Support sensitive detectors in replica/parameterized volumes by @sethrj in #1649
- Hotfix: remove Ubuntu 20 from CI configuration by @sethrj in #1651
- Add an option to enable status checker through celer-sim by @sethrj in #1650
- Improve geometry testing by @sethrj in #1652
- Add support for elliptical cylinders and elliptical cones in orange and g4org by @elliottbiondo in #1642
- Hotfix: prevent vecgeom 2.0 in regular builds by @sethrj in #1655
- Support post-step touchable location and step status by @sethrj in #1653
- Support surface-based VecGeom 2.x navigator by @mrguilima in #1422
- Approximate G4Torus using inner/outer bounding cylinders by @elliottbiondo in #1654
- Rename
CoreTrackViewmethods by @amandalund in #1658 - Refactor geometry tests into common file by @sethrj in #1656
- Use extern static data for versions, configuration by @sethrj in #1657
- Support volume-specific uniform field by @amandalund in #1659
- Fix link errors with CUDA RDC and
--as-neededflag by @pcanal in #1661 - Use CLI11 for front end command line parsing by @sethrj in #1660
- Move offload template into a celeritas::example namespace by @sethrj in #1663
- Implement discrete optical physics by @hhollenb in #1604
- Update frontier toolchain for Feb 2025 by @sethrj in #1668
- Remove 'default_stream' option by @sethrj in #1667
- Fix downstream RDC linking and add versioning by @pcanal in #1665
- Extend CudaRdc compatibility by @pcanal in #1671
- Default downstream CUDA/HIP architectures by @sethrj in #1669
- Hide Thrust from .cc code by @sethrj in #1670
- Add an example user action for gathering statistics on GPU by @sethrj in #1664
- Initialize MPI in high-level integration classes by @sethrj in #1672
- Add quantity support to FindInterp and template Turn by @sethrj in #1675
- By default load CudaRdcUtils and print config message by @sethrj in #1676
- Support VecGeom 2.0 by @sethrj in #1674
- Fix bremsstrahlung process construction when using only a single model by @amandalund in #1677
- Add 3D Cylindrical field map by @esseivaju in #1662
- Lazily fetch volumes for UniformAlongStepFactory by @rahmans1 in #1666
- Remove G4EmExtraPhysics from FtfpBertPhysicsList by @whokion in #1644
- Define dependency helper targets and reorganize CMakeLists by @sethrj in #1673
- Update CudaRdcUtils to v3 by @pcanal in #1679
- Add Celeritas cmake command wrappers for downstream code by @sethrj in #1678
- Fix static builds and CI reporting by @sethrj in #1680
New Contributors
Full Changelog: v0.5.1...v0.6.0-rc.1