Milestone #20573: Separate ROOT from core framework functionality
Separate ROOT initialization from core art concepts
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_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.
#4 Updated by Kyle Knoepfel 3 months 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.