Releases: AIDASoft/DD4hep
v01-33
v01-33
-
2025-10-28 Juan Miguel Carceller (PR#1517)
- Add a new EDM4hep file after the changes to generator-related information in key4hep/EDM4hep#446. The existing file is not readable. Change missing from #1499.
-
2025-10-28 Juan Miguel Carceller (PR#1516)
- Fix a deprecation warning in EDM4hepFileReader.cpp by changing
collection.isValid()tocollection.hasID().
- Fix a deprecation warning in EDM4hepFileReader.cpp by changing
-
2025-10-15 Juan Miguel Carceller (PR#1507)
- (1) Do not install twice (if
CMAKE_INSTALL_LIBDIRis different fromlib) some examples - (2) Do not install twice (if
CMAKE_INSTALL_LIBDIRis different fromlib) some plugins - (3) Use
CMAKE_INSTALL_LIBDIRinstead of hardcodinglib. However, ifCMAKE_INSTALL_LIBDIRis unset, set it tolibto prevent it to be set when enablingDDG4.
- (1) Do not install twice (if
-
2025-10-13 Juan Miguel Carceller (PR#1512)
- GeoWebDisplay: Add option "-maxnodes" for increasing the number of drawn nodes, Add a warning, if number of nodes is larger than the default number of displayed nodes, fixes #1505
-
2025-10-10 Andre Sailer (PR#1510)
- Geant4VolumeManager: in function volumeID: change INFO to DEBUG for message about Bad Path that also is insensitive, fixes #1506
-
2025-10-08 Thomas Madlener (PR#1499)
- EDM4hep Input / Output: Add the passing through of generator event information for EDM4hep, fixes #1373
-
2025-10-07 Juan Miguel Carceller (PR#1508)
- Fix two compiler warnings about an unqualified move and an unused var
-
2025-10-02 Juan Miguel Carceller (PR#1500)
- Add a [[maybe_unused]] to prevent a warning in ConditionExampleObjects.cpp
-
2025-10-02 Juan Miguel Carceller (PR#1497)
- Increase tolerance of a test to avoid failures
-
2025-09-07 Wouter Deconinck (PR#1495)
- HEPMC3FileReader : Remove double type deduce/open to avoid spurious errors with ROOT 6.36
-
2025-09-06 Wouter Deconinck (PR#1496)
- Remove logging of constants in checkOverlaps
-
2025-09-02 Andre Sailer (PR#1494)
- CI: mac: drop cmake, already installed
-
2025-09-02 Markus Frank (PR#1493)
if tessellated shapes are encountered ROOT material scans are unreliable, because tessellated shapes do not
participate in tracking. For the graphical scan a warning message is issued to warn the user that the scan
results are not reliable.
This was mentioned in Issue #1490 but there nothing
we can do about in dd4hep, because this is a deficiency, which must be resolved in the ROOT geometry package. -
2025-09-02 Juan Miguel Carceller (PR#1491)
- Examples: Remove the inclusion of
./includefor ClientTests since this folder doesn't exist
- Examples: Remove the inclusion of
-
2025-08-15 Thomas Madlener (PR#1488)
- EDM4hep input and output: Use
edm4hep::MCParticle::helicityonce it is available instead of the potentially dangerousspin. See key4hep/EDM4hep#404 for the corresponding upstream changes
- EDM4hep input and output: Use
-
2025-08-12 Brieuc Francois (PR#1486)
- DDSim: State in the helper message that the physicsList argument is deprecated
-
2025-08-12 Juan Miguel Carceller (PR#1485)
- Testing: t_RICH_sim_number_of_hits: Increase the deviation of the number of hits to avoid test failures in the test.
-
2025-08-12 jmcarcell (PR#1484)
- DetectorImp.cpp: Clean up and modernize: Remove the unused struct TypePreserve, avoid calling find and then emplace in maps and call only emplace instead, use nullptr instead of 0, do not check pointers before deleting since deleting nullptr is a no-op, and simplify when possible.
-
2025-08-12 jmcarcell (PR#1483)
- Remove unused function in Geant4VolumeManager.cpp
- Fix the C++ includes (including what is used in each file)
- Remove unused function in Geant4VolumeManager.cpp
-
2025-08-04 Andre Sailer (PR#1482)
- Tests: make some tests that need pytest only run when pytest is available
- Geant4Output2EDM4hep: fix type categorisation for EventParameters, previously all parameters ended up in the string parameter section.
-
2025-08-04 Sakib Rahman (PR#1460)
- Geant4Output2EDM4Hep: Add --meta.runParameters option to add run level metadata to edm4hep output files
-
2025-07-29 jmcarcell (PR#1480)
- Geant4Output2EDM4hep: Use . instead of -> for EDM4hep objects that are not pointers
-
2025-07-23 jmcarcell (PR#1479)
- Remove
from __future__ importsince we are using Python 3
- Remove
-
2025-07-23 Andre Sailer (PR#1476)
- DDG4: Add possibility to call G4PrimaryTransformer::SetKETolerance to silence warnings about differences in dynamic particle masses from MC Generators. Fixes #1475
-
2025-07-21 Markus Frank (PR#1478)
-
Compact parser:
When a<info>tag is detected, do not always recreate a new header object, but rather update
a possibly existing object. In addition also print a warning. -
When creating assemblies using the factory method a
TGeoAssemblyShapewas created and attached to the
TGeoAssemblyVolume. This leaves on shape object orphaned and hence leads to a memory leak.
Instead if a assembly volume is created, first create the volume and then register the implicitly created shape.
-
-
2025-07-21 jmcarcell (PR#1477)
- Remove a few empty files
-
2025-07-16 Andre Sailer (PR#1474)
- DDSim: longer docstring for Physics.PDGFile mentioning secondary vertices and pre-assigned decays.
-
2025-07-16 jmcarcell (PR#1470)
- Fix many typos in code comments
-
2025-07-15 Markus Frank (PR#1471)
Exit process with exit-code (128 + signal number) instead of NULL on non-recoverable signals.
See #1468 for details -
2025-06-20 Thomas Madlener (PR#1466)
- Geant4Output2EDM4hep: Set the
stepLengthfor theCaloHitContributions in once it becomes possible (EDM4hep 0.99.3).
- Geant4Output2EDM4hep: Set the
-
2025-06-19 jmcarcell (PR#1465)
- CI: Improve the Linux workflows:
- Add scripts with the common build options to avoid repetitions
- Display ccache stats to see if it's working
- Use nproc instead of hardcoding the number of jobs
- CI: Improve the Linux workflows:
-
2025-06-18 jmcarcell (PR#1464)
- Add concurrency to the CI workflows, to stop previous runs if there are new commits
-
2025-06-16 Sebastien Ponce (PR#1463)
- Fixed destroyHandle usage for DetElement
- Made sure once gets a compilation error in case destroyHandle is used when the underlying object type is not complete
-
2025-06-13 BrieucF (PR#1462)
- DDSim: Explicitly mention in the help message that the EDM4hep format is a supported input
-
2025-06-03 armin-ilg (PR#1455)
- Enable surfaces of TGeoTrd1 with normal vectors that are not pointing in y direction
-
2025-05-27 Dmitry Kalinkin (PR#1456)
- Wrap calls to grep in thisdd4hep.sh to make it source'able in scripts with
set -e
- Wrap calls to grep in thisdd4hep.sh to make it source'able in scripts with
v01-32-01
v01-32-01
-
2025-05-20 Andre Sailer (PR#1453)
- Checksum: fix assertions on vector length during checksum calculations in debug mode, fixes #1451
- OpaqueData: fix return value for non-void function
template <typename T> inline T& OpaqueDataBlock::bind(T&& obj)
-
2025-05-19 Andre Sailer (PR#1450)
- Objects: change printout for color creation from WARNING to INFO (fixup for #1449)
- OpaqueData: fix compilation error with c++23 and gcc15.
-
2025-05-16 Dmitry Kalinkin (PR#1449)
- Fix a regression with certain colors not saved to .root files when using ROOT 6.32.0+.
v01-32
v01-32
-
2025-05-07 Andre Sailer (PR#1447)
- ddsim: add physics.alternativeStableStatus option to allow defining alternative stable status of MCParticles meant to be treated by Geant4, fixes #1446
-
2025-05-06 Wouter Deconinck (PR#1445)
- DDG4: Allow event readers to work with pre-existing (Event,Run)Parameters, written by other plugins.
-
2025-04-15 Thomas Madlener (PR#1444)
- CI: Switch to
run-lcg-viewactionv5and injectccacheas compiler launcher via cmake to speed up CI builds.
- CI: Switch to
-
2025-04-08 Wouter Deconinck (PR#1440)
- adopt properties of underlying Geant4GeneratorAction in Geant4SharedGeneratorAction
-
2025-04-07 Andre Sailer (PR#1442)
- WebDisplay: fix building against current ROOT master, need further FIXME
-
2025-04-04 Andre Sailer (PR#1441)
- CMake: drop use of ROOT:ROOTHistDraw
-
2025-04-02 Alvaro Tolosa Delgado (PR#1439)
- Modification of
Geant4Sensitive::cellIDbase class function to handle properly the cases when the step corresponds to an optical photon and the option InvokeSD is enable, so only post-step information is used to calculate the volume/cell ID.
- Modification of
-
2025-03-28 Alvaro Tolosa Delgado (PR#1438)
- g4GraphicalScan: add option
-t--timeoutto make timeout configurable, fixes #1435
- g4GraphicalScan: add option
-
2025-03-27 Andre Sailer (PR#1437)
- Geant4TVUserParticleHandler: fix wrong contains check through unit conversion. Fixes #1434
-
2025-03-26 Andre Sailer (PR#1433)
- Geant4ParticleHandler: prevent the vertexIsNotEndpointOfParent bit set for particles that were not simulated by Geant4 for some reason.
-
2025-03-25 jmcarcell (PR#1432)
- Remove headers that are not being used in the current file and add headers that are being used.
-
2025-03-21 Andre Sailer (PR#1429)
- Cmake: UtilityApps: move G__eve dictionary to when we have ROOT::Eve, otherwise there is an installation error. Fixes #1424
-
2025-03-20 Andre Sailer (PR#1428)
- CMake: do not build DDEve if ROOT::Eve does not exist. Fixes #1424
-
2025-03-20 jmcarcell (PR#1427)
- Remove C++ preprocessor checks for a standard before C++14
-
2025-03-19 leggett (PR#1426)
- CMake: Suppress building of UtilityApps components that require ROOT::Eve if it's not available (e.g. if ROOT was built without X11 support)
-
2025-03-19 jmcarcell (PR#1425)
- Fix typos and other minor changes
- Fix a few usage messages that were outdated or wrong
-
2025-03-18 jmcarcell (PR#1422)
- Remove checks for the C compiler when configuring
- Remove
ENABLE_LANGUAGEwhich is redundant when called afterPROJECT
-
2025-03-17 leggett (PR#1421)
fix typo in CMakeLists.txt so that DD4HEP_DISABLE_PACKAGES list is properly parsed -
2025-03-17 Markus Frank (PR#1420)
- Fix for issue #1418.
Individual DD4HEP sub-packages can be disable from the cmake command line:This will disable the sub-packages DDRec,DDEve,DDDigi:$> cmake <other options> -DDD4HEP_DISABLE_PACKAGES="DDRec DDEve DDDigi" ../DD4hepClearly no prevision can be done concerning package dependencies. This is up to the user.$> cmake -DDD4HEP_DISABLE_PACKAGES="DDRec DDEve DDDigi" ../DD4hep -- Could NOT find LATEX (missing: LATEX_COMPILER) -- No LaTeX/Biber found, cannot compile user manual. -- Disable package: DDEve -- Disable package: DDDigi -- Disable package: DDRec -- Will be building these packages: DDDetectors;DDCond;DDAlign;DDCAD;DDG4;UtilityApps -- Including DD4hepBuild.cmake
For exampleDDG4cannot be disabled ifDDDigishould be kept.
- Fix for issue #1418.
-
2025-03-13 Wouter Deconinck (PR#1417)
- Support multithreading in Geant4EDM4hepOutput plugin
-
2025-03-13 jmcarcell (PR#1414)
- Fix the result of
innerMaterial()andouterMaterial()depending on if the other is called first - Add a test that fails without this fix and passes with the fix
- Fix the result of
-
2025-03-12 Markus Frank (PR#1416)
- Improve the response of geoDisplay when invoked for help.
- This PR fixes issue: #1409
- Now geoDisplay -h / -help / --help gives the following output:
$ geoDisplay -h PersistencyIO INFO +++ Set Streamer to dd4hep::OpaqueDataBlock DD4hep INFO ++ Using globally Geant4 unit system (mm,ns,MeV) Info in <TGeoManager>: Changing system of units to Geant4 units (mm, ns, MeV). Info in <TGeoManager::TGeoManager>: Geometry default, Detector Geometry created Info in <TGeoNavigator::BuildCache>: --- Maximum geometry depth set to 100 geoPluginRun: No geometry input supplied. No geometry will be loaded. ------------------------------------------------------------------ | Welcome to ROOT 6.35.01 https://root.cern | | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers | | Built for linuxx8664gcc on Jan 20 2025, 14:50:44 | | From heads/master@v6-31-01-4781-gce5f87d2f4 | | With g++-12 (Ubuntu 12.3.0-17ubuntu1) 12.3.0 | | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q' | ------------------------------------------------------------------ Usage: -plugin DD4hep_GeometryDisplay -arg [-arg] Invoke the ROOT geometry display using the factory mechanism. -detector <string> Top level DetElement path. Default: '/world' -option <string> ROOT Draw option. Default: 'ogl' -level <number> Visualization level [TGeoManager::SetVisLevel] Default: 4 -visopt <number> Visualization option [TGeoManager::SetVisOption] Default: 1 -load Only load the geometry. Do not invoke the display -help Print this help output Arguments given: -help- Unfortunately we were not really following the linux rules concerning options:
- one letter options:
-<letter> <value>or - multi letter options:
--<options>=<value>
- one letter options:
- maybe we should at some time make an effort to homogenize the behavior.
-
2025-03-10 Markus Frank (PR#1415)
- Several transparent changes, which should improve the deficiencies of the coverity scans.
-
2025-03-07 Andre Sailer (PR#1412)
- HTML User Docs: remove margin from sectionToc, online this squashes the Toc lines more than offline for some reason
-
2025-03-07 Andre Sailer (PR#1411)
- HTML User Docs: move Table of Content toc to absolute position at 150% of page width. Let's table of content scroll along with the page.
-
2025-03-07 Andre Sailer (PR#1410)
- Documentation: fix relative location of CSS files in html user manuals
-
2025-03-05 Dmitry Kalinkin (PR#1408)
ROOT_LIBRARY_PATHwill now be updated by thisdd4hep.sh. This is needed to instruct Cling to prefer a particular dd4hep path. see https://github.com/root-project/root/blob/a588ea2cbc286afcc5e2b06dfdcae139b470da96/README/ReleaseNotes/v624/index.md?plain=1#L76
-
2025-02-18 Markus Frank (PR#1405)
Enable random seed printout to debug flaky BoxOfStraws example -
2025-02-17 Markus Frank (PR#1404)
- Remove compiler warnings for MacOS
-
2025-02-17 Markus Frank (PR#1403)
- All tests in the examples directory using geant4 simulation and dependencies of these tests have the following convention:
<test-directory>_sim_<other unique name>, wheretest_directoryisCLICSiD, ClientTests, DDDigi, DDG4, MySensDet, etc. - This allows to consistently exclude all tests which require simulation as an input by running:
$> ctest -E _sim_
- All tests in the examples directory using geant4 simulation and dependencies of these tests have the following convention:
-
2025-02-12 Daniel Jeans (PR#1401)
- Fixes incorrect assumption in g4GraphicalScan.py when parsing output of Geant4MaterialScanner.
-
2025-02-10 Daniel Jeans (PR#1398)
- this PR improves robustness of g4GraphicalScan tool
-- run short pilot job with timeout, to catch mal-defined models which cause ddsim to hang
-- remove assumption about the edge of world volume
-- deal with case when requested point is outside world volume
- this PR improves robustness of g4GraphicalScan tool
-
2025-02-07 Daniel Jeans (PR#1397)
- add python utility g4GraphicalScan.py to produce 2-d scan of a detector model
- similar to graphicalScan, but directly reads the g4 geometry (rather than the DDRec geometry used by graphicalScan)
- this can therefore cope with CAD-based elements ( see https:/...
- add python utility g4GraphicalScan.py to produce 2-d scan of a detector model
v01-31
v01-31
-
2025-01-27 Andrii Verbytskyi (PR#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)
- 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.
- Optimize the Geant4VolumeManager. Instead of mapping the Geant4 pathes as vectors of pointers,
-
2025-01-22 Dmitry Kalinkin (PR#1376)
- DDSim: Steering files can now omit instantiating a new
SIM = DD4hepSimulation(), and instead use a pre-defined variable with nameSIM. This allows for steering files that preserve the existing state ofDD4hepSimulationthat a custom user code had set prior to theparseOptions()call.
- DDSim: Steering files can now omit instantiating a new
-
2025-01-21 Markus Frank (PR#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)
- DDSim: add a reader for EDM4hep files, fixes #1369
- DDSim can now read EDM4hep files in root format.
- DDSim: add a reader for EDM4hep files, fixes #1369
-
2025-01-16 sss (PR#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)
- Revert some of the changes of #1375 to build a vector of floats instead of doubles since the necessary constructor doesn't exist in 0.10.X.
- Use
edm4hep::labels::CellIDEncodingonly when they are available (starting at version 0.99)
-
2025-01-13 sss (PR#1386)
- Fix potential use of dangling temporary in exampe.
-
2025-01-13 scott snyder (PR#1385)
- DDSim.ACtion: Fix a wrong variable in a docstring.
-
2025-01-09 jmcarcell (PR#1374)
- Do not set or read the color flow for MCParticles from EDM4hep,
needed after key4hep/EDM4hep#389
- Do not set or read the color flow for MCParticles from EDM4hep,
-
2025-01-06 jmcarcell (PR#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
- Fix a few compiler warnings (clang 18) about:
-
2024-12-10 Andre Sailer (PR#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)
- 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:Fixes #1361Volume 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);- An example (+test) is supplied as well:
- ClientTests/compact/DriftChamber.xml
- ClientTests/scripts/DriftChamber.py
where the voxelization is reduced.
- An example (+test) is supplied as well:
- If memory is an issue, the Geant4 memory consumption can be reduced using the smartless option of
-
2024-12-10 Andre Sailer (PR#1366)
- DDSim: Clarify that event processing includes Initialisation time, fixes #1364
-
2024-12-09 ybedfer (PR#1365)
- Adding a
CartesianGridUVsegmentation 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.
- Adding a
-
2024-12-05 Andre Sailer (PR#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)
- 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)
- Drift chamber data extension
DCH_info_structhas been extended with functions to calculate the projection of a point into a wire
- Drift chamber data extension
-
2024-11-21 ybedfer (PR#1357)
Bug fix inCylindricalGridPhiZ:- In the
cellIdmember 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.
- In the
-
2024-11-19 Andre Sailer (PR#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)
- DDG4: add possibility to control verbosity for physics constructors
- DDSim: add new
--output.physicsparameter to control output level for physics constructors, fixes #1351
-
2024-11-07 Andre Sailer (PR#1349)
- PythonPlugin: replace deprecated Eval with Exec (root 6.36 need)
-
2024-11-07 Alvaro Tolosa Delgado (PR#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)
- Remove plenty of override warnings from DDG4 compilation
- Spotted by accidence when checking LHCb nightly builds.
-
2024-10-24 Andre Sailer (PR#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)
- Addendum to MR #1300.
-
2024-10-21 Markus Frank (PR#1339)
- Addendum to MR #1336 which fixes a compilation error on MACOS.
-
2024-10-21 Andre Sailer (PR#1338)
- CI: add macOS build again
-
2024-10-18 Andre Sailer (PR#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)
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: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.geant4 = DDG4.Geant4(kernel, tracker='Geant4TrackerCombineAction') geant4.registerInterruptHandler() - This MR should implement issue#1330 and supposedly supersedes PR#1300
-
2024-10-17 Andre Sailer (PR#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)
- Use
edm4hep::labels::CellIDEncodinginstead of "CellIDEncoding" - Use
podio::collMetadataParamNameinstead of hardcoding the convention of adding__
- Use
-
2024-10-17 Andre Sailer (PR#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)
- Conditions: change FIRST_KEY, LAST_KEY to constexpr instead of anonymous enum
-
2024-10-15 BrieucF (PR#1329)
- ddsim: Set
edm4hepthe default output format in case DD4hep is compiled with bothDDD4HEP_USE_LCIODD4HEP_USE_EDM4HEPON - ddsim: Change the name of the default output file from dummyOutput to ddsimOutput
- ddsim: Set
-
2024-10-15 Bohdan Dudar (PR#1326)
- Add xercesc parsing of environment variables in the xml path iLCSoft/Marlin#60
-
2024-10-03 Dmitry K...
v01-30
v01-30
-
2024-08-25 Andre Sailer (PR#1317)
- DDSim: regexSD fix infinite loop, but change the interface from assignment to dictionary entries. Have to ensure only a single entry of a detector is given to the RegexSD
-
2024-08-15 Sanghyun Ko (PR#1315)
- DDSim: prevent Geometry.regexSensitiveDetector from always throwing exception when called with argument.
-
2024-08-13 Andre Sailer (PR#1312)
- GitlabCI: drop Flake check, since we have that on github as well
-
2024-08-12 Andre Sailer (PR#1310)
- GitlabCI: Use an el9 container to build documentation for the webpage
-
2024-08-12 Andre Sailer (PR#1309)
- CLICSiD AClick tests: avoid running in parallel, tests might break
-
2024-08-12 Andre Sailer (PR#1308)
- Geant4RegexSensitivesConstruction: allow using regex that don't match the full volume path, reduce time by 40% or so
- DDSim: add interface for Geant4RegexSensitivesConstruction to geometry construction
-
2024-07-30 Leonhard Reichenbach (PR#1303)
- Added a Geant4TVUserParticleHandler that can utilise an arbitrary tracking volume as introduced in #384
-
2024-07-24 ybedfer (PR#1294)
- Adding a "CylindricalGridPhiZ" segmentation class.
- N.B.: the class has a "radius" data member, registered by the constructors.
- Adding a "CylindricalGridPhiZ" segmentation class.
-
2024-07-22 Markus Frank (PR#1301)
-
2024-07-22 Andre Sailer (PR#1299)
- CI: use alma9 stack for python lint check
- CI: move key4hep stack to alma9
-
2024-07-22 Sanghyun Ko (PR#1298)
- Geant4Converter: Improve lookup speed of
GeoHandler::i_collectby usingstd::setinstead ofstd::find(issue #1291)
- Geant4Converter: Improve lookup speed of
-
2024-07-06 jmcarcell (PR#1290)
- Add the missing header unistd.h in a file to find
::openand::close - Fix a few warnings about unused variables or shadowing
- Add .cache and compile_commands.json to .gitignore
- Add the missing header unistd.h in a file to find
-
2024-07-05 Markus Frank (PR#1289)
- Add RegexSD example for illustration: See #1288
-
2024-07-05 Markus Frank (PR#1288)
- As reported in this issue #1285 under certain circumstances the memory usage of DDG4 goes through the roof. This was traced back to the creation of excessive maps in the
Geant4VolumeManager, if the number of sensitive pathes is very high like e.g. for straw detectors. - To solve the problem, geometry constructors may not declare any sensitive volumes. Hence the
Geant4VolumeManagerwill not be populated. To still make Geant4 functioning, the sensitive volumes may be declared a posterior after conversion using regular expressions as implemented in the classGeant4RegexSensitivesConstruction. This class is only an example how such functionality may be achieved: other solutions are possible as well. This functionality can be switched at the level of each subdetector participating in the experiment setup. - To illustrate, an example detector
BoxOfStrawswas constructed with a flag in the xml description:
<detector id="1" name="BoxOfStrawsDet" type="DD4hep_BoxOfStraws" readout="BoxOfStrawsHits" vis="VisibleGreen" region="StrawRegion" limits="BoxOfStrawsLimitSet"> <box x="1*m" y="1*m" z="1000*mm" limits="BoxOfStrawsLimitSet" vis="VisibleRed"/> <straw rmax="0.5*mm" y="1*m" thickness="0.1*mm" vis="VisibleBlue"> <material name="Iron"/> </straw> <gas vis="VisibleGreen"> <material name="Argon"/> <non_sensitive/> </gas> <position x="0*m" y="0*m" z="0*m"/> <rotation x="0" y="0" z="0"/> </detector>Change
<non_sensitive/>to<sensitive/>and the different behavor of memory allocation when starting Geant4 can be observed.
The corresponding Geant4 python script can be found here:<DD4hep>/examples/ClientTests/scripts/BoxOfStraws.pyThe memory consumption differs then as follows (depending on the thickness of the straws, which determine the number of sensitive pathes):
With explicit sensitive volumes: before Geant4VolumeManager: Virtual: 903.3m resident: 690.5m after Geant4VolumeManager: Virtual: 1848.2m resident: 1.6g With Sensitives matching regex and not sensitive volumes declared: before Geant4VolumeManager: Virtual: 903.3m Resident: 690.6m after Geant4VolumeManager: Virtual: 903.3m Resident: 690.6m Simulating: Virtual: 903.5m Resident: 692.6mHence this is a possibility to significantly reduce memory consumption for highly granular subdetectors.
- As reported in this issue #1285 under certain circumstances the memory usage of DDG4 goes through the roof. This was traced back to the creation of excessive maps in the
-
2024-07-01 Markus Frank (PR#1287)
- As noted by Ben, the global alignment does not work in the presence of assemblies.
This PR together with root-project/root#15905 fixes this deficiency. - An example was added to convert a globally misaligned geometry to Geant4:
$ python examples/AlignDet/scripts/AlephTPC.py -batch -events 5 -alignments examples/AlignDet/compact/AlephTPC_alignment.xml
- As noted by Ben, the global alignment does not work in the presence of assemblies.
-
2024-07-01 jmcarcell (PR#1286)
- Fix warnings related to unused variables and shadowing of already existing variables
- Don't use the deprecated
PySys_SetArgv
-
2024-06-26 Andre Sailer (PR#1284)
- DDG4.inputHandling: do not simulate rejectPDG particles even if they are called stable by the generator file, fixes #1282
-
2024-06-26 Andre Sailer (PR#1283)
- DDSim: Do not check for existence of files behind a URL like root://, fixes #1281
-
2024-06-24 jmcarcell (PR#1280)
- CMake: Allow finding version 1.0 (and newer) for podio
-
2024-06-21 Markus Frank (PR#1279)
- The conquest against tainted variables in coverity
-
2024-06-20 Markus Frank (PR#1278)
- Fight coverity tainted variables.
v01-29
v01-29
-
2024-06-06 Andre Sailer (PR#1277)
- Geant4Converter: fix the order of the TGeoNode conversion to Geant4 volumes, using vector instead of set. Maybe fixes #1271
-
2024-05-26 Andre Sailer (PR#1276)
- XMLElements: fix build when not using XercesC, failing to include header files
-
2024-05-23 Markus Frank (PR#1275)
- The battle agains coverity
- The last defects I know how to solve. For the rest more expertise is required.
-
2024-05-23 MarkusFrankATcernch (PR#1274)
- Allow coverity scans being started manually
-
2024-05-23 Markus Frank (PR#1272)
- The battle agains coverity. Try to fix various defects.
-
2024-05-22 Markus Frank (PR#1270)
- The battle agains coverity: Attack and reduce coverity errors
-
2024-05-22 Markus Frank (PR#1269)
- Code maintenance: change quoted include statements to angular brackets in subpackage DDG4.
-
2024-05-22 Markus Frank (PR#1268)
Code maintenance:- change quoted include statements in DDCore to angular brackets
- Add the odd licence statement
- Remove obsolete file DD4hep/TGeoUnits.h: Take TGeoUnits from ROOT if needed.
This file dates back to the time TGeoUnits.h did not exist in ROOT.
-
2024-05-21 Markus Frank (PR#1267)
- Try to eliminate more coverity code deficiencies
(See https://scan.coverity.com/projects/dd4hep?tab=overview)
- Try to eliminate more coverity code deficiencies
-
2024-05-16 Andre Sailer (PR#1266)
- DDSim: make setupUserFunction be documented in the steering file
- Fix random typos in comments and doxygen strings
- Geant4Handle: Fix error message when plugin casting did not succeed
-
2024-05-16 Markus Frank (PR#1265)
- Fix some coverity problems
-
2024-05-16 tmadlener (PR#1264)
- EDM4hepOUTPUT: Introduce pre-processor checks to transparently switch to the new
std::optionalreturn values ofpodio::Frame::getParameter(introduced with AIDASoft/podio#580)
- EDM4hepOUTPUT: Introduce pre-processor checks to transparently switch to the new
-
2024-05-16 Thomas Latham (PR#1263)
- Enhance handling of transformations in VolumeBuilder
-
2024-05-15 Markus Frank (PR#1262)
- Add optional instantiation of the G4ScoringManager together with the G4RunManager.
The instantiation can be steered by option to the Geant4Kernel:
import DDG4 g4 = DDG4.Geant4() g4.kernel().HaveScoringManager = TrueFor rational, please see issue: #1261
- Add optional instantiation of the G4ScoringManager together with the G4RunManager.
-
2024-05-13 Alvaro Tolosa Delgado (PR#1253)
- DDRec/DCH_info.h: Add data extension class for FCCee Drift Chamber. This class provides data storage and ancillary functionalities needed to build the geometry.
-
2024-05-10 Andre Sailer (PR#1260)
- DDG4/DDSim: allow configuring of the unstable generator status codes with SIM.physics.alternativeDecayStatuses. This allows one to tweak which particles are passed to the Geant4 simulation. Fixes #1256
- DDG4: Geant4InputAction: move setting of generator status bits to a common place, reduce code duplication.
-
2024-05-07 Markus Frank (PR#1259)
- Protect Geant4 Primary creation against negative masses.
- See issue #1233 for a detailed discussion of the problem.
- Allow shapes to be defined recursively using shape creation plugin.
- Show how to properly use CAD shapes with a non-zero origin (Issue : #1200)
examples/DDCAD/compact/DD4hep_Issue_1134_resolved.xml
Once the CAD shape (aka volume) is placed correctly into the origin of a mother mother, the mother can then be placed
rotated and shifted according to the the boxed mother's origin like any other volume.
-
2024-05-07 Andre Sailer (PR#1258)
- DDSim: correct the number of events when running over all events (-1), fixes #1257
- GenerationActionInit: declare properties to access number of processed runs (numberOfRuns) and events (numberOfEVents)
- DDG4: decode or eval all properties out of str or cppyy.gbl.string types
-
2024-04-23 Andre Sailer (PR#1255)
- Geant4GFlashShowerModel: remove wrong unit conversions from particleBound properties. Caused particle bounds to be off by 1e3 when GEANT_UNITS were enabled.
-
2024-04-22 tmadlener (PR#1252)
- DDDigiEDM4hep: Switch to the correct podio pre-processor version checks for switching to the non-deprecated readers / writers. Also simplify this such that choosing which type(name) to use is handled in one place rather than several.
- Geant4Output2EDM4hep: Switch to a non-deprecated setter for setting the MCParticle for a SimTrackerHit once EDM4hep ships with it.
-
2024-04-19 Andre Sailer (PR#1254)
- CMake: drop possible use of ROOT::PyROOT target, always use ROOT::ROOTTPython
- Python: remove the use of (dd)six, fix issues pointed out by new version of flake8
-
2024-04-18 Andre Sailer (PR#1242)
- CI: change which LCG_releases/ROOT versions DD4hep is tested.
- Fix various issues with latest version of ROOT (6-32-patches, master) and cppyy in ROOT.
⚠️ : You may encounter issues with python setup complaining about mismatched types, strings, conversions
-
2024-04-04 Andre Sailer (PR#1251)
- EDM4hepOutput: determine momentum vector type automagically. Make it work with any EDM4hep version correctly, fixes #1250
-
2024-04-02 Andre Sailer (PR#1248)
- ddsim now exits with non-zero exit code when something went wrong during simulation
-
2024-04-02 Wouter Deconinck (PR#1245)
- fix adding individual planes to existing Polycone
-
2024-03-26 Andre Sailer (PR#1247)
- DDSim: add checks that input files and compact files exist before doing anything extensive and provide proper error message. Fixes #1246
-
2024-03-21 Markus Frank (PR#1244)
- The build type flag was lost when including files from compact. This PR fixes this deficiency and ensures the flag propagation. Example: 'box_shape_build_type'
-
2024-03-20 Alvaro Tolosa Delgado (PR#1243)
- Fixed TwistedTube when only half-length is provided, making the tube is symmetric along Z axis
-
2024-03-13 Andre Sailer (PR#1241)
- CMake: dd4hep_add_dictionary: use temporary files to create dictionary to allow dependencies to use COMPILE_LANGUAGE, fixes #1239 . Add USE_COMMAND_TO_GENERATE option to fall back to previous implementation
- CMake: dd4hep_add_dictionary: remove duplicates from definition and include_directory options when calling rootcling
-
2024-02-29 Markus Frank (PR#1238)
- Adapt documentation for Tube(...) constructor to reality.
See issue #1236
- Adapt documentation for Tube(...) constructor to reality.
v01-28
v01-28
-
2024-02-19 Markus Frank (PR#1228)
- Fix DD4hep_DetectorDump plugin to avoid crash if a DetElement placement is invalid,
which is not allowed, but also should not end up in a crash. - Add test to check if DetElements have proper placement set using MiniTel example
(see examples/ClientTests/compact/MiniTel_err_place.xml) and
test MiniTel_check_missing_placements - The fake DD4hep object TwistedTube did not correctly emulate the different constructors when converted
to Geant4. This should be fixed with this PR.
- Fix DD4hep_DetectorDump plugin to avoid crash if a DetElement placement is invalid,
-
2024-02-16 Andre Sailer (PR#1231)
- CMake: use the LCIO::lcio target instead of LCIO::LCIO
-
2024-02-15 Andre Sailer (PR#1230)
- XML: add missing std:: when building with TinyXML
- DetectorSurfaces: silence printout when creating SurfaceList, fixes #1229
-
2024-02-13 Wouter Deconinck (PR#1225)
- upgrade CI to checkout@v4, cvmfs@v4, upload-artifact@v4
-
2024-02-12 Alvaro Tolosa Delgado (PR#1227)
- Twisted tube: twisted angle unit conversion now works properly
-
2024-02-12 Markus Frank (PR#1226)
Multiple commits. Most important one (on user request):- Implement CONST properties to optical sufaces. (Requires new release of ROOT)
See issue: #1223
Otherwise:
- Remove support for very old versions of ROOT < 6.10.0
- Remove support for very old versions of ROOT < 6.26.0.
- Remove default use of std namespace from most implementation files.
- Implement CONST properties to optical sufaces. (Requires new release of ROOT)
-
2024-02-12 Wouter Deconinck (PR#1218)
- add command line options to pass stepping (etc) action plugins to ddsim
-
2024-02-08 tmadlener (PR#1219)
- Make the upcoming renaming of
edm4hep::TrackerHittoedm4hep::TrackerHit3D(key4hep/EDM4hep#252) transparent as far as DD4hep is concerned.
- Make the upcoming renaming of
-
2024-02-07 jmcarcell (PR#1221)
- Change ROOTFrame{Writer,Reader} to ROOT{Writer,Reader} following AIDASoft/podio#549
-
2024-02-02 tmadlener (PR#1198)
- Set the momenta of the
edm4hep::MCParticleas double instead of float once it becomes possible.
- Set the momenta of the
-
2024-01-18 Markus Frank (PR#1217)
- Enable energy deposit collection in FiberTubeCalorimeter example.
-
2024-01-18 Markus Frank (PR#1216)
- Update FiberTubeCalorimeter example
- Fix overlapping volumes
-
2024-01-17 Markus Frank (PR#1215)
- Fix creation of tessellated shapes from CAD files.
- Properly hand quadri-linear facets from CAD files.
- See also: root-project/root#14327
- See also: #1212
-
2024-01-16 Markus Frank (PR#1214)
- Fix to MR #1212
-
2024-01-15 Markus Frank (PR#1213)
- Adapt material scan to be aware of the different compilation modes for TGeo units and Geant4 units.
See also issue #1163.
- Adapt material scan to be aware of the different compilation modes for TGeo units and Geant4 units.
-
2024-01-15 Andre Sailer (PR#1212)
- Assimp: adapt to changes in TGeoTessellated for ROOT 6.32
- ShapeUtilities: adapt to changes in TGeoTessellated for ROOT 6.32
-
2024-01-12 Markus Frank (PR#1211)
- Implement required chnges for new ROOT 6.31.X.
See issue #1210 for details.
- Implement required chnges for new ROOT 6.31.X.
-
2024-01-08 Markus Frank (PR#1209)
- Restore behavior of teveDisplay. See issue #1208 for details.
-
2023-12-19 Andre Sailer (PR#1206)
- CI: Coverity: use el9 based stack
v01-27-02
v01-27-02
-
2023-12-15 Andre Sailer (PR#1205)
- Geant4PrimaryHandling: fix issue with multiple vertices in Geant4 GeneralParticleSource, fixes #1204
-
2023-12-14 Markus Frank (PR#1201)
- Incorporate type fix from #1172
- Propagate polish setting from ROOT surfaces to Geant4
- Improve debugging capabilities of detector checksums by improved dumping possibilities.
-
2023-12-14 Andre Sailer (PR#1196)
- NestedBoxReflection_geo.cpp: use std::abs instead of abs
- HexGrid: use std::abs instead of abs
- DDSim: better logging of which sensitive detector is used when defaults are used
-
2023-12-14 Paul Gessinger (PR#1195)
- Replace usage of the
impmodule that was removed in Python 3.12 withimportlibandtypes.
- Replace usage of the
-
2023-11-24 Andre Sailer (PR#1192)
- DetectorChecksum: use fabs to check if values are 0.0, fixes #1188
v01-27-01
v01-27-01
-
2023-11-20 jmcarcell (PR#1191)
- CMake: Add a check for the c++ standard that Geant4 was compiled with, and fail if it is
different from the one required for DD4hep.
- CMake: Add a check for the c++ standard that Geant4 was compiled with, and fail if it is
-
2023-11-19 Wouter Deconinck (PR#1190)
- Use TROOT::GetIconPath to find icons in DDEve
-
2023-11-17 Markus Frank (PR#1187)
- Implement startup flags to set the visualization depth in teveDisplay like for geoDisplay.
See Issue: See deeper hierarchy in teveDisplay #1186 for details.
- Implement startup flags to set the visualization depth in teveDisplay like for geoDisplay.
-
2023-11-17 Dmitry Kalinkin (PR#1184)
- Fixed runtime issues during initialization caused by incorrectly placed
DECLARE_SEGMENTATIONfor CartesianGridXYStaggered and HexGrid.
- Fixed runtime issues during initialization caused by incorrectly placed
v01-27
v01-27
-
2023-10-19 Alvaro Tolosa Delgado (PR#1174)
- Geant4OpticalTracker: Kill optical photons (instead of all other particles) as soon they enter into a Optical Tracker sensitive detector
-
2023-10-19 Wouter Deconinck (PR#1148)
- Allow several DDRec c'tors to work on
const Detector&instead ofDetector&
- Allow several DDRec c'tors to work on
-
2023-10-18 Markus Frank (PR#1181)
Allow for XML processing of files relative to xml tag location:- For some tags the relative placement of include files was not possible.
This pull request is supposed to close these missing include features. - See issue #1180 for details)
- See the examples ClientTests: minitel_config_plugins_include_command_xml
with the compact file ClientTests/compact/IncludePlugins.xml for an example.
- For some tags the relative placement of include files was not possible.
-
2023-10-17 Alvaro Tolosa Delgado (PR#1179)
- DDSim: Corrected documentation of
--gun.energy. This corresponds to the total energy including the mass of the particle
- DDSim: Corrected documentation of
-
2023-10-11 Andre Sailer (PR#1176)
- DDG4: G4VTouchable: for Geant4 11.1.ref09 cannot forward declare the class any more
-
2023-10-11 Markus Frank (PR#1175)
- Handle request from issue 1166: Allow to load CAD files with relative path w/r to declaring xml file
- Add illustrating example: t_DDCAD_Check_Shape_RelativePath
-
2023-09-20 Dhevan Gangadharan (PR#1170)
- Extend usage of dumpBfield to asymmetric X,Y,Z ranges.
-
2023-09-20 Sebouh Paul (PR#1161)
- DDSegmentation: added segmentation HexGrid for hexagonal segmentation
- DDSegmentation: added CartesionGridXYStaggered for rectangular segmentation that can be staggered for every other layer
-
2023-09-19 Dmitry Kalinkin (PR#1171)
-
2023-09-15 jmcarcell (PR#1169)
- CMake: DDG4: Check if the CLHEP target exists before creating it in DD4hepBuild.cmake, since if it exists cmake will error.
-
2023-09-15 Wouter Deconinck (PR#1168)
- ddsim: handle run header exception when the user has no username.
-
2023-08-31 Dmitry Kalinkin (PR#1165)
- DDG4: HepMC3Input: Fix loading of run info for RootTree HepMC3 input format
-
2023-08-25 Andre Sailer (PR#1162)
- DDEve Webdisplay: fix issue with ROOT master with RGeomViewer no longer being in the experimental namespace.
-
2023-08-24 Andre Sailer (PR#1160)
- SiliconBlockGFlash: add maximal energy for using parametrisation, for electron and positron, fixes #1153
-
2023-08-24 Markus Frank (PR#1155)
- Implement correct transparency handling of ROOT:
The transparency setting was connected to the material of the volume.
This led to the same transparency setting for all volumes of the same material.
It was not possible to change them at the level of the volume though
the API suggested so.
See: #1117
See: root-project/root#13402 - Add test examples/ClientTests/compact/visTestEx.xml and visTest.xml.
From the inversion of tubes with the same material, for ROOT >= 6.29
the correct transparency settings are shown, whereas for ROOT < 6.29
the transparency settings are the same for all volumes.
Also see scripts/visTest.C
- Implement correct transparency handling of ROOT:
-
2023-08-23 Ben Couturier (PR#1159)
- Improved _getEnviron to deal with the case when multiple variables are to be evaluated in the string
-
2023-08-22 Dmitry Kalinkin (PR#1158)
- DDSim: Fix reading HepMC3 input files via xrootd, fixes #1156
-
2023-08-22 Wouter Deconinck (PR#1157)
- Geant4Output2EDM4hep: allow use of identical collection names across multiple detectors
-
2023-08-04 Andre Sailer (PR#1152)
- CI: use clang16 for header guards check
-
2023-08-04 jmcarcell (PR#1151)
- Limits object: fix string creation of Limit::toString, this will now also print the relevant "particles"
- Shapes: remove "move" from return of dimensions()