First round of updating algorithms to new APIs and data flow
This is a first round of changes to switch algorithms and plugins to the apis introduced in !53 (merged) and data flow defined in !53 (merged).
- Add a
WriterT
helper class to implement event-store based writers for a specific type. - Convert CSV writers to event-store data flow.
- Convert JSON writer to event-store data flow.
- Convert Obj space point writers to event-store data flow.
- Convert ROOT particle writers to event-store data flow.
- CSV, JSON, and Obj writers produce one file per event.
- CSV produces files in simplified Excel-compatible format.
Additional cleanup and simplifications along the way:
- Convert
ParticleGun
into a standaloneBareAlgorithm
that can be run w/oReadEvgen
. Add d0 and z0 to generated parameters. - Remove particle generation from
ExtrapolationAlgorithm
. - Reorganize Fatras examples.
- Start to move from separate namespaces, e.g.
FWCsv
to namespace hierachyFW::Csv
. - Separate Pythia8 code from ROOT I/O algorithms.
- The build directory contains all binaries under
<build>/bin
instead of their full location.
Due to time constraints this MR only changes about half of the existing code. Remaining changes are suggested in ACTSFW-50.
This is follow up to ACTSFW-40 and ACTSFW-43 and obsoletes !51 (closed).
Edited by Moritz Kiehn