Releases: AliceO2Group/VMCStepLogger
v0.6.1: Fix compilation problem and compiler warnings
MCStepLogger had compilation issues with conflicting C++ versions appearing on the command line. This is avoided by a CMakeList simplification. Also fixing few compilation warnings related to inconsistent virtual + override.
v0.6.0: Fix for C++20
std::vector has a constexpr destructor in C++20, which makes forward declaration not viable anymore.
Migration to VMC v2-0
Migration of MCReplayEngine to vmc v2.0 (#30) * Migration of MCReplayEngine to vmc v2.0 * Fixed typo in workflow step name
Enable fallback to ROOT's builtin VMC
Enable the possibility to fallback to ROOT's builtin VMC in case this project is built within a software stack where this fallback is still considered a valid option.
Build against VMC standalone, more cut parameters
- deprecating built against
ROOT
's internalVMC
, moving to VMC standalone - adding application of
CUTHAD
,CUTNEU
andCUTMUO
in addition toCUTGAM
andCUTELE
- enable loading cut parameters from
JSON
to allow for complex cut setting
Introduce MCReplay engine based on Virtual Monte Carlo
Given logged steps extracted with the MCStepLogger
, this engine replays the logged steps exactly (no actual physics and stepping is simulated and it is therefore not a real Monte Carlo engine for that reason but it is significantly faster).
The main motivation for this implementation is the optimisation of simulation parameters by e.g. comparing the baseline hits with those produced after varying parameters. The replay has been tested with GEANT3_VMC
and GEANT4_VMC
at this point.
No additional dependencies were introduced.
The MCStepLogger
logs a few additional information required for a replay. In particular, the geometry paths of new tracks or those at volume boundaries are stored to exactly restore the appropriate geometry state (which cannot be guaranteed to be initialised exactly from only spatial information, in particular close to volume boundaries).
At the same time the code was re-organised.
Seamless code development
Start tagging to remove the impact of ongoing developments from requiring projects. In particular, to support seamless development of https://github.com/alisw/alidist and https://github.com/AliceO2Group/AliceO2