Only configure producers / consumers when required by algorithms in sequence
In general, the goal of this MR is to only trigger the relevant geometry consumers / producers.
- Create new type of Algorithm,
ProviderAlgorithm. As with other Allen algorithm types (such asHostAlgorithm,DeviceAlgorithmorSelectionAlgorithm) it doesn't have an impact upon the functionalities the algorithm can have. -
ProviderAlgorithms are expected to have abank_typeproperty. - The algorithm type is now propagated to the JSON configurations.
- A new bank string
VPRetinaClusterwhich maps to bank typeVPhas been created, required to enable the functionality described below.
This MR does various things, depending on the way that Allen is run:
- In Allen STANDALONE and Allen steered from MooreOnline, deduce from the data provider algorithms present in the requested sequence which geometry consumers / producers are needed and only schedule the ones linked to that bank type.
- In Allen STANDALONE and Allen steered from MooreOnline, given that he magnetic field is used by compassUT and the SciFi reconstruction, it is always scheduled.
- In Gaudi-Allen,
ProvideRuntimeOptionsis now configured with the concrete bank types that are requested. It is not needed anymore to specify the type of banks requested by hand (solves #332 (closed)).
Closes #344 (closed) and #332 (closed).
Should go with MooreOnline!130 (merged)
Edited by Daniel Hugo Campora Perez