opengate
opengate copied to clipboard
Generic filters
A new system to configure filters for actors.
The main idea is to be able to write for example:
actors.filter = "kinetic_energy < 20 * MeV or particle_name == 'gamma' and track_id != 0"
Current proof of concept works, run time overhead yet to assess to compare to another implementation (partial) using C++ JIT compilation (preliminary tests show a factor of around 2 for short simulations on m'y computer). To discuss : optional dependency on (py)ROOT (for C++ JIT) to reduce simulation time when using generic filters.
Demo in test023 generic (not an actual test yet, must be executed with options, e.g. -san1e2).