Skip to content

Version 0.3.1

Compare
Choose a tag to compare
@sethrj sethrj released this 05 Aug 14:30
· 551 commits to develop since this release
d31a2b8

Version 0.3.1 is a bug fix and minor feature release of Celeritas targeted at supporting
experiment frameworks. Key enhancements are:

  • More track and step attributes can be set when calling back to Geant4 sensitive detectors.
  • Offloaded tracks can be exported as a HepMC3 event file.
  • Sensitive detectors callbacks from Celeritas can be disabled with a new macro flag.
  • Linking against Geant4 10.5 is supported.
  • A new diagnostic in celer-g4 prints step distributions from Geant4 CPU execution.

Key fixes:

  • Backward compatibility with Geant4 10.6 is restored.
  • Having multiple MSC models defined in Geant4 prints a warning instead of aborting execution.
  • Initializer capacity in celer-sim is now scaled to be per thread.

New features

Reviewers: @sethrj (10), @amandalund (3), @whokion (3), @hhollenb (1), @drbenmorgan (1)

Bug fixes

  • Fix errors when building and loading Celeritas through CMSSW (@sethrj, #821)
  • Divide initializer capacity by number of streams in celer-sim (@amandalund, #824)
  • Fix build errors from Geant4@10 (@drbenmorgan, #830)
  • Fix default combined_brems option to work with multiple-element materials (@sethrj, #837)
  • Fix app/demo-geo-check test failure when using MPI (@stognini, #838)
  • Unify convergence criteria in field driver (@sethrj, #829)
  • Fix minor issues with exceptions (@sethrj, #846)
  • Fix linking errors with CUDA+VecGeom caused by #847 (@pcanal, #856)
  • Fix inconsistencies in Geant4-to-VecGeom boolean conversion (@sethrj, #857)
  • Fix HepMC3 reading of vertices and status codes (@sethrj, #863)
  • Restore "small step updates momentum" condition (part of #875) in field propagator (@sethrj, #882)

Reviewers: @amandalund (5), @sethrj (4), @whokion (2), @esseivaju (1)

Documentation improvements

Reviewers: @pcanal (1), @sethrj (1), @amandalund (1)

Minor internal changes

  • Add field template deduction and parameterized test (@sethrj, #820)
  • Improve logger construction and add test helper class (@sethrj, #826)
  • Hotfix: fix warning when building with Geant4@11 (@sethrj, #833)
  • Remove variadic templating from track executor (@sethrj, #832)
  • Refactor hit manager SD mapping (@sethrj, #835)
  • Apply C++ core guidelines for copy/move assignment/construction (@esseivaju, #834)
  • Add screening_factor to ImportEmParameters (@stognini, #840)
  • cmake-rdc: add support for MODULE library. (@pcanal, #848)
  • Add some quality-of-life CMake defaults (@sethrj, #847)
  • Require semicolon for statement-like CELER_X_COPY_MOVE macros (@sethrj, #855)
  • Hotfix: fix duplicate HepMC3 symbols by creating a wrapper function (@sethrj, #865)
  • Fix large function warnings by disabling device debug code by default (@sethrj, #866)
  • Add PolyEvaluator deduction guides (@hhollenb, #871)
  • Add thread-safe assertion to RootStepWriter (@stognini, #873)
  • Export full Celeritas version string as well as defaulted CMake variables (@sethrj, #870)
  • Reuse chord length between successive field advances (@sethrj, #875)
  • Improve polynomial deduction guide (@sethrj, #878)
  • Validate KernelParamCalculator block size using CUDA/HIP function attributes (@esseivaju, #877)

Reviewers: @sethrj (6), @amandalund (5), @drbenmorgan (3), @pcanal (2), @hhollenb (2), @esseivaju (1), @whokion (1)

Full Changelog: v0.3.0...v0.3.1