ART Suite Release Notes 0.07.00


Changes since previous version: split

The library is split into two libraries, the second being in order to break a circular dependency caused by the activation of the module createEngine() functionality.

Initial implementation of product mixing.

ART now has the capability to support mixing of products (eg background overlay events) from a secondary file source into the current event.

Change signature of preBeginRun signal callbacks.


void preBeginRun(RunID const&, Timestamp const&);
void preBeginRun(Run const&);

See issue #1237.

Complete excision of RawInputSource.

Use FileReader module template instead.

Ptr<T> improvements.

  • Ptr<T> now usable in boolean context.
    if (myPtr) { ... }
    is now equivalent to
    if (myPtr.get()) { ... }
  • Ptr<T> is always persistable -- "transient" Ptr<T> is now disallowed.

Removal of getByType() product retrieval function.

Use (e.g.) getByLabel() instead. See issue #1076.

Minor changes:

  • ART persistent objects are now version-ed where appropriate, allowing for flexible schema evolution going forward.
  • cpp0x headers are now used to replace boost:: with std:: where possible in preparation for C++2011.
  • Improve separation of ROOT-specific code from code not specifically dealing with ROOT files.
  • Remove obsolete classes:
    • EntryDescription
    • EntryDescriptionID
    • EntryDescriptionRegistry
    • EventEntryDescription
    • EventEntryInfo
    • ModuleDescriptionRegistry
  • Add more use of cet::demangle.