JMultifactory output collection names are no longer suffixed with mTag. We are now handling this at the JOmnifactory level instead. Technically this would be a breaking change, but we never used this feature to begin with.
JFactoryGenerator is now given its own mApp pointer, so that we no longer need to pass it in to all of the J{Omni, Chain}FactoryGenerators.
JFactoryPodioT::Set(std::vector<T>) and Insert(T) no longer leak memory
JMultifactory correctly catches std::exception and wraps it in a JException, giving us better stack traces
PODIO performance and unit tests now support both old and new PODIO versions
JMultifactory was verified to have a usable mPluginName and mApp
JFactoryPodioT::Insert() was verified to work correctly
A compiler warning involving C++20 implicit capture of this has been fixed
This PR addresses almost everything in the following issues:
263
247
235
The only remaining issue is in #247, regarding Set<>() not checking if the collection is already in the frame. This issue is pretty subtle: a user would have to go reasonably far off the beaten path for it to crop up, and it's not obvious to me how JANA ought to recover, anyhow. I think we can worry about it after this release. It would make the most sense to revisit the issue when we address issue #254.
This PR addresses almost everything in the following issues:
263
247
235
The only remaining issue is in #247, regarding Set<>() not checking if the collection is already in the frame. This issue is pretty subtle: a user would have to go reasonably far off the beaten path for it to crop up, and it's not obvious to me how JANA ought to recover, anyhow. I think we can worry about it after this release. It would make the most sense to revisit the issue when we address issue #254.