New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactored internals of edm::Principal to make future changes easier #1871
Conversation
…product Only one call to getProductHolderByIndex ever requested the product actually be resolved. So simplified the routine to only do the lookup of the ProductHolder (as the function name implied) and have the resolution of the product done in the one function which requested it.
The only call for Principal::resolveProduct was to read from source by the ProductHolder. This makes an explicit function to do that work.
The last use of Principal::resolveProduct was replaced with ProductHolder::resolveProduct so that all resolves are handled the same way.
Previously, Principal::getProductHolder not only got the ProductHolder but could also run them based on different choices for the function arguments. Now the function only gets the ProductHolder requested and leaves running it to the calling function. This now matches how all other interactions with the ProductHolder are handled.
A new Pull Request was created by @Dr15Jones (Chris Jones) for CMSSW_7_0_X. Refactored internals of edm::Principal to make future changes easier It involves the following packages: FWCore/Framework @cmsbuild, @Dr15Jones, @ktf, @nclopezo can you please review it and eventually sign? Thanks. |
+1 |
This pull request is fully signed and it will be integrated in one of the next IBs unless changes or unless it breaks tests. @ktf can you please take care of it? |
This pull request is fully signed and it will be integrated in one of the next IBs unless changes (tests are also fine). @ktf can you please take care of it? |
Framework fixes -- Refactored internals of edm::Principal to make future changes easier
Remove evtgenlhc from externals.
edm::Principal is the base class for the classes which deal with Run, Lumi and Event data products. The way we get data will change for the threaded-framework. This refactoring lays the ground work for those changes. No functionality should change from this refactoring.