Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-10444

Decouple RHist axis configuration and statistical data better

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open (View Workflow)
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: master
    • Fix Version/s: None
    • Component/s: Core Libraries
    • Labels:
      None
    • Environment:
    • Development:

      Description

      To improve code readability and maintainability, the axis configuration and statistical data of RHist should be decoupled better than they currently are.

      In an ideal world, RHis would be composed of two entities. One (bikeshed: RAxisSet?) would hold a histogram's axis configuration and take care of all local <-> global bin coordinate conversions. The other (the current RHistData?) would be a set of one-dimensional vectors of global bins that has no knowledge of local binning conventions whatsoever.

      This would allow nice things like cleanly exposing the axis configuration in the public RHist API. However, some design work must be done to answer a few questions before starting implementation:

      • Can we, in such a design, keep the nice property which we currently have that RHist::Fill goes through a single virtual function call and from that point on all code is specialized for the target axis and stats configuration?
      • How do growable axes fit in this nice picture? How can axis growth trigger the statistical data reorganization that must inevitably ensue?

        Attachments

          Activity

            People

            Assignee:
            axel Axel Naumann
            Reporter:
            hgraslan Hadrien Benjamin Grasland
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: