-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Is your feature request related to a problem? Please describe.
We define algorithms in src/algorithms in a pretty good declarative approach. This includes defining properties, etc. But we still have to replicate this structure in the factory definitions in src/factories. That seems inefficient.
Describe the solution you'd like
A factory that uses an algorithm that derives from an algorithms::-interfaced algorithm should be able to do the automatic ParameterRef definitions (and other forwarding to the JANA2 interfaces), to limit boilerplate that users have to provide.
Further comments related to this:
- Is it possible to automatically bridge JANA2/JOmniFactory and EICrecon algorithms without C++ reflection?
- There are some rough edges around non-PODIO types (e.g. we pass stuff from Acts::
)
- interfaces for std::vector don't match (this is not a problem if we don't pass std::vector<Acts::...>
)
- interfaces for variadic collections don't match #1401
- property interface from algorithms needs to be used by EICrecon (also simplifies factory definition by automating ParameterRef)