art 3.11.00
Usability improvements
- Users no longer need to include the
art/Framework/Core/ModuleMacros.h
header in their modules; it is provided automatically. - Plugins (including modules, services, tools, etc.) no longer need to explicitly link against Boost's filesystem library.
- Calling
Event::put(...)
now returns anart::PutHandle<T>
object, which can be used to immediately access the framework-owned product, or more easily makeart::Ptr<T>
objects. - Users will be able to access an
art::Ptr<T>
's parent collection by invoking theart::Ptr<T>::parentAs<...>()
function template. - Due to some code rearrangements, compiled user module
.so
files should be slightly smaller than in previous art versions.
New features
- #86: Users can now create
art::ProductPtr<T>
objects to point to other products.
Bug fixes
- #121:
getProcessParameterSet(...)
can be called for (sub)runs in addition events. - #122: Fixed premature printout of art exit status
Breaking changes
- Users are now required to provide either the
art::fullRun()
orart::runFragment()
product semantics when inserting products into theart::Run
; the similar products semantics must be provided forart::SubRun
products. - The
Event::removeCachedProduct(Handle<T>&)
function has been replaced with directly invokingHandle<T>::removeProduct()
. - All
rewind
API has been removed from the input source and empty-event timestamp plugins. - Several adjustments to the output module API--only implementers of an output module need to be aware of these.
New Contributors
- @gaponenko made their first contribution in #122
Full Changelog: https://github.com/art-framework-suite/art/commits/v3_11_00