Project

General

Profile

Feature #20593

Milestone #20573: Separate ROOT from core framework functionality

Separate ROOT initialization from core art concepts

Added by Kyle Knoepfel about 1 month ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Infrastructure
Target version:
Start date:
08/13/2018
Due date:
% Done:

100%

Estimated time:
4.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

The setup of ROOT error handlers and custom streamers has typically been done at the event-processor construction step or even at the program-options processing step. To accommodate the separation of art into art and art_root_io, the initialization will be included in a function that must be called by any ROOT-dependent facility at its construction time.

This has the potential to be burdensome for art users that do not interact with art-provided ROOT-based facilities. Documentation must be provided for users to be cognizant of this.


Related issues

Blocks art - Feature #20575: Migrate ROOT-dependent art facilities to art_root_ioResolved2018-08-09

History

#1 Updated by Kyle Knoepfel about 1 month ago

  • Status changed from New to Accepted

#2 Updated by Kyle Knoepfel about 1 month ago

  • Blocks Feature #20575: Migrate ROOT-dependent art facilities to art_root_io added

#3 Updated by Kyle Knoepfel about 1 month ago

  • Target version set to Vega

#4 Updated by Kyle Knoepfel about 1 month ago

  • Category set to Infrastructure
  • Status changed from Accepted to Resolved
  • Assignee set to Kyle Knoepfel
  • % Done changed from 0 to 100
  • SSI Package art added

Initialization of ROOT components for art-provided facilities are now provided via a art::root::setup() function, which is called during the constructors of each of the relevant classes. The function is thread-safe and the actual setup is guaranteed to occur only once. Documentation will be provided explaining under what circumstances users should explicitly call this function.

Resolved with commit art:67d8304.

#5 Updated by Kyle Knoepfel about 1 month ago

  • Target version changed from Vega to 3.01.00


Also available in: Atom PDF