From eeb839267159ede7a4ad383288017dee5afce6fe Mon Sep 17 00:00:00 2001 From: Andre Sailer <andre.philippe.sailer@cern.ch> Date: Mon, 27 Jan 2025 16:35:37 +0100 Subject: [PATCH] Release Notes for v01-31 --- doc/ReleaseNotes.md | 171 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) diff --git a/doc/ReleaseNotes.md b/doc/ReleaseNotes.md index 6995648e7..e6ec6fcba 100644 --- a/doc/ReleaseNotes.md +++ b/doc/ReleaseNotes.md @@ -1,3 +1,174 @@ +# v01-31 + +* 2025-01-27 Andrii Verbytskyi ([PR#1378](https://github.com/aidasoft/DD4hep/pull/1378)) + - Use standard locations if the LD_LIBRARY_PATH or ROOTSYS are empty, i.e. /usr/lib,usr/lib64, etc. + +* 2025-01-25 Markus Frank ([PR#1390](https://github.com/aidasoft/DD4hep/pull/1390)) + - Optimize the Geant4VolumeManager. Instead of mapping the Geant4 pathes as vectors of pointers, + hash64 the pointers of the path and lookup pathes from the touchable history using this key. + - Relevant changes are in the files DDG4/Geant4GeometryInfo.h and src/Geant4VolumeManager.cpp. + Everything else is only cosmetics. + +* 2025-01-22 Dmitry Kalinkin ([PR#1376](https://github.com/aidasoft/DD4hep/pull/1376)) + - DDSim: Steering files can now omit instantiating a new `SIM = DD4hepSimulation()`, and instead use a pre-defined variable with name `SIM`. This allows for steering files that preserve the existing state of `DD4hepSimulation` that a custom user code had set prior to the `parseOptions()` call. + +* 2025-01-21 Markus Frank ([PR#1387](https://github.com/aidasoft/DD4hep/pull/1387)) + Update the reference files for the Pseudotrap shape checks after mesh creation updates in ROOT. + Pseudotrap tests are disabled for G4 units due to numerical discrepancies when using G4 units vs. TGeo units. + +* 2025-01-20 Andre Sailer ([PR#1371](https://github.com/aidasoft/DD4hep/pull/1371)) + - DDSim: add a reader for EDM4hep files, fixes #1369 + - DDSim can now read EDM4hep files in root format. + +* 2025-01-16 sss ([PR#1384](https://github.com/aidasoft/DD4hep/pull/1384)) + - DD4hep::Segmentations: add cellsSpanVolumes function to mark segmentations that that can have cells that span multiple volumes, such as the Allegro ECal. + +* 2025-01-16 jmcarcell ([PR#1380](https://github.com/aidasoft/DD4hep/pull/1380)) + - Revert some of the changes of https://github.com/AIDASoft/DD4hep/pull/1375 to build a vector of floats instead of doubles since the necessary constructor doesn't exist in 0.10.X. + - Use `edm4hep::labels::CellIDEncoding` only when they are available (starting at version 0.99) + +* 2025-01-13 sss ([PR#1386](https://github.com/aidasoft/DD4hep/pull/1386)) + - Fix potential use of dangling temporary in exampe. + +* 2025-01-13 scott snyder ([PR#1385](https://github.com/aidasoft/DD4hep/pull/1385)) + - DDSim.ACtion: Fix a wrong variable in a docstring. + +* 2025-01-09 jmcarcell ([PR#1374](https://github.com/aidasoft/DD4hep/pull/1374)) + - Do not set or read the color flow for MCParticles from EDM4hep, + needed after https://github.com/key4hep/EDM4hep/pull/389 + +* 2025-01-06 jmcarcell ([PR#1375](https://github.com/aidasoft/DD4hep/pull/1375)) + - Fix a few compiler warnings (clang 18) about: + - Set but unused variables and unused variables or declarations + - Deprecated constructor for a Vector3d from a Vector3f from EDM4hep + - Missing override + - Having a space after `operator""` is deprecated + +* 2024-12-10 Andre Sailer ([PR#1368](https://github.com/aidasoft/DD4hep/pull/1368)) + - HitTupleAction: change how the tree is written and filled, because that caused segfaults in LCG stack runs of dd4hep example tests. + +* 2024-12-10 Markus Frank ([PR#1367](https://github.com/aidasoft/DD4hep/pull/1367)) + - If memory is an issue, the Geant4 memory consumption can be reduced using the smartless option of + G4LogicalVolume entities. This MR exposes this feature of Geant4 to dd4hep. + Example fragment of the code: + ``` + Volume vol = ....; + // 2 is the Geant4 voxelization default. 0 means no voxelization, + // values bigger than 2 will need more memory. + int value = 0 .... 5; + vol.setSmartlessValue(value); + ``` + Fixes #1361 + - An example (+test) is supplied as well: + - ClientTests/compact/DriftChamber.xml + - ClientTests/scripts/DriftChamber.py + where the voxelization is reduced. + +* 2024-12-10 Andre Sailer ([PR#1366](https://github.com/aidasoft/DD4hep/pull/1366)) + - DDSim: Clarify that event processing includes Initialisation time, fixes #1364 + +* 2024-12-09 ybedfer ([PR#1365](https://github.com/aidasoft/DD4hep/pull/1365)) + - Adding a `CartesianGridUV` segmentation class, providing for a stereo readout, *i.e.* a readout at an angle w.r.t. the axes of the sensitive volume. + - The class is a straightforward derivation of `CartesianGridXY`, with only few extras needed to register the _angle_ parameter and execute the rotation. + +* 2024-12-05 Andre Sailer ([PR#1362](https://github.com/aidasoft/DD4hep/pull/1362)) + - Geant4AssemblyVolume: use the same copy ID for the Geant4 Volume as was set in DD4hep geometry construction, fixes #1360 . + +* 2024-11-28 BrieucF ([PR#1359](https://github.com/aidasoft/DD4hep/pull/1359)) + - Increased the limit on the maximum number of particles one can provide with the hepevt format from 1 to 50 M, fixes #1356 + +* 2024-11-22 Alvaro Tolosa Delgado ([PR#1358](https://github.com/aidasoft/DD4hep/pull/1358)) + - Drift chamber data extension `DCH_info_struct` has been extended with functions to calculate the projection of a point into a wire + +* 2024-11-21 ybedfer ([PR#1357](https://github.com/aidasoft/DD4hep/pull/1357)) + Bug fix in `CylindricalGridPhiZ`: + - In the `cellId` member method, one now refrains from reducing the phi parameter modulo 2pi when its IDdescriptor is signed. + - When the offset is null, this means that the phi range is now [-pi,pi], instead of the previously [0,2pi] which is not appropriate for a signed quantity. + +* 2024-11-19 Andre Sailer ([PR#1355](https://github.com/aidasoft/DD4hep/pull/1355)) + - CMake: fix for using Geant4 with internal CLHEP, fix linking error where -lG4clhep was not found. Fixes #1354 + +* 2024-11-11 Andre Sailer ([PR#1352](https://github.com/aidasoft/DD4hep/pull/1352)) + - DDG4: add possibility to control verbosity for physics constructors + - DDSim: add new `--output.physics` parameter to control output level for physics constructors, fixes #1351 + +* 2024-11-07 Andre Sailer ([PR#1349](https://github.com/aidasoft/DD4hep/pull/1349)) + - PythonPlugin: replace deprecated Eval with Exec (root 6.36 need) + +* 2024-11-07 Alvaro Tolosa Delgado ([PR#1348](https://github.com/aidasoft/DD4hep/pull/1348)) + - DDRec/DCH_info.h: make inline definition of insertion operator of DCH_info class. This fixes 'multiple definition' compilation error when header is included more than once. + +* 2024-11-04 Markus Frank ([PR#1347](https://github.com/aidasoft/DD4hep/pull/1347)) + - Remove plenty of override warnings from DDG4 compilation + - Spotted by accidence when checking LHCb nightly builds. + +* 2024-10-24 Andre Sailer ([PR#1342](https://github.com/aidasoft/DD4hep/pull/1342)) + - DDSim: add SignalHandler, add disableSignalHandler flag to turn it off (cf. #1330) + - Examples: make RICH depend on DDG4 for the test + - DDCad: make two tests depend on DDG4 + +* 2024-10-22 Markus Frank ([PR#1341](https://github.com/aidasoft/DD4hep/pull/1341)) + - Addendum to MR https://github.com/AIDASoft/DD4hep/pull/1300. + +* 2024-10-21 Markus Frank ([PR#1339](https://github.com/aidasoft/DD4hep/pull/1339)) + - Addendum to MR https://github.com/AIDASoft/DD4hep/pull/1336 which fixes a compilation error on MACOS. + +* 2024-10-21 Andre Sailer ([PR#1338](https://github.com/aidasoft/DD4hep/pull/1338)) + - CI: add macOS build again + +* 2024-10-18 Andre Sailer ([PR#1337](https://github.com/aidasoft/DD4hep/pull/1337)) + - CMake: explicitly ask for ROOTEve component if it exists so we potentially find the non-builtin nlohmann_json + +* 2024-10-18 Markus Frank ([PR#1336](https://github.com/aidasoft/DD4hep/pull/1336)) + Add implementation for signal handling. + - The generic signal handler in DDCore may be used and specialized by applications as shon in the DDG4 package (see for details src/Geant4Kernel.h) + - Use generic signal handler in DDG4 for controlled shutdown on CTRL-C. + - Add test DDG4_SIGINT_handler in examples/DDG4 + to enable the signal handling use from python: + ``` + geant4 = DDG4.Geant4(kernel, tracker='Geant4TrackerCombineAction') + geant4.registerInterruptHandler() + ``` + Please note: The signal handler must be explicitly installed. DDG4 is a library framework and does not intervene in actions which users possibly want to handle themselves! This mechanism looks simple enough that it should not be annoying. + - This MR should implement [issue#1330](https://github.com/AIDASoft/DD4hep/issues/1330) and supposedly supersedes [PR#1300](https://github.com/AIDASoft/DD4hep/pull/1300) + +* 2024-10-17 Andre Sailer ([PR#1334](https://github.com/aidasoft/DD4hep/pull/1334)) + - checkOverlaps: move from DDG4 to DDCore as this does not depend on Geant4, no impact on users + - checkGeometry: move from DDG4 to DDCore as this does not depend on Geant4, no impact on users + - CI: Key4hep: set CMAKE_INSTALL_LIBDIR=lib because Qt6 sets GNUInstallDir + +* 2024-10-17 jmcarcell ([PR#1333](https://github.com/aidasoft/DD4hep/pull/1333)) + - Use `edm4hep::labels::CellIDEncoding` instead of "CellIDEncoding" + - Use `podio::collMetadataParamName` instead of hardcoding the convention of adding `__` + +* 2024-10-17 Andre Sailer ([PR#1332](https://github.com/aidasoft/DD4hep/pull/1332)) + - ImportTest: change 'error' to 'fehler' to avoid triggering test failures for spurious warning from gosam package in lcg stacks + +* 2024-10-16 Andre Sailer ([PR#1331](https://github.com/aidasoft/DD4hep/pull/1331)) + - Conditions: change FIRST_KEY, LAST_KEY to constexpr instead of anonymous enum + +* 2024-10-15 BrieucF ([PR#1329](https://github.com/aidasoft/DD4hep/pull/1329)) + - ddsim: Set `edm4hep` the default output format in case DD4hep is compiled with both `DDD4HEP_USE_LCIO` `DD4HEP_USE_EDM4HEP` ON + - ddsim: Change the name of the default output file from dummyOutput to ddsimOutput + +* 2024-10-15 Bohdan Dudar ([PR#1326](https://github.com/aidasoft/DD4hep/pull/1326)) + - Add xercesc parsing of environment variables in the xml path https://github.com/iLCSoft/Marlin/issues/60 + +* 2024-10-03 Dmitry Kalinkin ([PR#1327](https://github.com/aidasoft/DD4hep/pull/1327)) + * ASSIMPWriter: fix "warning: unqualified call to 'std::move'" + +* 2024-09-19 Markus Frank ([PR#1324](https://github.com/aidasoft/DD4hep/pull/1324)) + Add warning if TGeo materialScan hits TGeoTessellated volumes. + + The DDRec MaterialManager and hence the corresponding MaterialScan use TGeo tracking through volumes. + Tracking in TGeo is not implemented for tessellated shapes as they result from CAD shapes. Though TGeo tracking is used + in the material scanner.... In TGeo tessellated surfaces behave like their bounding box. Hence they have no real shape + and for this reason you only see a "box". + TGeo tracking for tessellated shapes will only be implemented once TGeo moves to VecGeom. This will still take some time. + + + See github issue https://github.com/AIDASoft/DD4hep/issues/1322 for details about the discussion. + # v01-30 * 2024-08-25 Andre Sailer ([PR#1317](https://github.com/aidasoft/dd4hep/pull/1317)) -- GitLab