Skip to content

Flatten the event data model

Moritz Kiehn requested to merge flat_event_data into master

Simplifies the event data model and modifies the using code accordingly:

  • Replace the nested DetectorData container with a single GeometryIdMultimap indexed by the geometry id and stored internally in a flat container. This allows fast iteration over all/ selected elements without multiple nested loops and allows hits to be identified by their event-unique index within the flat container. That way we can add additional per-hit information as additional containers and refer to hits by index.
  • Add IndexMultimap for map e.g. hits to generating particles.
  • Remove unused templating on the particle type, e.g. for SimHit and SimVertex. This was not used anywhere in the code. Instead, SimParticle is now always used directly.
  • Remove duplicated data from SimParticle and compute it on-the-fly instead.
  • Add time variables and accessors.
  • Bump to LCG95 in CI build to satisfy increased Boost requirements. Boost 1.68 is required to be able to use C++14 heterogeneous lookup in set-like containers.

Depends on !159 (merged).

Edited by Moritz Kiehn

Merge request reports