Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 1.37 KB

README.org

File metadata and controls

38 lines (22 loc) · 1.37 KB

wire-cell-root

This packages houses dependencies on ROOT.

The policy on ROOT for the Wire-Cell Toolkit is as follows:

  • dependency on ROOT shall be a compile time option for building WCT.
  • the core Wire-Cell Toolkit libraries shall have no dependencies on ROOT.
  • the core packages shall have no dependencies on ROOT.
  • tests of core libraries may depend on root (but shall exist outside core packages).
  • non-core WCT components may depend on root (but shall exist outside core libraries).
  • the wire-cell-root should not be used as a compile time package by other (non core) WCT packages.

Core packages are currently defined as: apps, cfg, dfp, gen, iface, img, pgraph, ress, sigproc, sio, tbb, util.

Initially, WCT had a more relaxed policy. Specifically this held true:

  • ROOT dependencies were allowed for tests in any package (a separate lib, app and test dependency tree is supported by WCT’s build system).
  • The sio package was not considered core and had a mix of ROOT and non-ROOT.

A refactoring campaign has started with the creation of this package to reach the desired policy. It consists of the following actions:

  • Creation of wire-cell-root.
  • Move of any test depending on root to this package.
  • Move of any library component to this package or another.
  • Move of components include a change of C++ namespace and header locations.