Refactor application configuration
- Remove the stateful
EverythingHandler
and replace it with- a mutable options holder (
ApplicationOptions
), based onConfigurableUser
for the moment, to be redone later - stateless functions (
configure*
) that use the options and collect component configuration
- a mutable options holder (
- With the new structure, there's effectively a main python script that "runs" the application. Modifying options after that would be impossible.
- It is possible to "override" options like input, by prepending (rather than appending) options files in the list passed to
gaudirun.py
. Seedst_read.qmt
anddst_write.qmt
for an example. - "All" lines in a module are collected more explicitly with a new decorator.
- A macro
default_ft_decoding_version
is defined to streamline setting the value if needed. - Handling of input raw event is more explicit, streamlining the split raw event case, by requesting specific bank types.
- Input configuration is done with a "global bind" (in
configure_input
), lifting the need for the main script to do it. - ...?
WIP because there are bunch of TODOs, leftovers from the refactor and perhaps something I missed in the description. Tests are passing so we should put it in the head slot so we can work on adding the throughput tests.
Edited by Alex Pearce
Merge request reports
Activity
Please register or sign in to reply