Fermilab


Go to top,

Overview of the "new" MIDAD"

The event display framework is being re-written from scratch in order to make it more robust and easier to develop, especially for people who just want to add some little new thing.

Currently the new version of MIDAD is in an "experimental" branch and requires the installation of libsigc++. See http://minos.phy.bnl.gov/software/MIDAD-X/doc/ for details about how to access this branch and how to install libsigc++.

This page gives and overview of info important for "user-hackers" of this new framework. There are no detailed dirrections here. For that see the above link.

  • Gui:
    Midad has a set of GUI classes which give a simplified interface, and other features, on top of the ROOT GUI classes. If you want to add buttons, sliders, or other GUI elements you should use these.

    This wrapping is not yet complete. If something you want is missing, let me know and I'll add it.

  • Models:
    All data (eg CandDigitList) and related meta-data is wrapped up in a Model class. This controls access to the data and emits a signal whenever it is changed. Models can be modified by Controls.

    It is unlikely that you would need to write a new Model, more likely you would use a preexisting one.

  • Views:
    Views are classes which provide some representation (usually graphical) of a model. You may want to write a View subclass if existing ones are not useable.

  • Controls:
    Controls, are classes which can modify a Model. You may want to write a Control subclass if existing ones are not useable.

  • Scene:
    A Scene is an object which lets you draw graphics (it inherits from ROOT's TPad). It has an associated type (eg. "U-Z" is for drawing in a U view vs. Z). One just uses a Scene object.
  • Scenery:
    A class which inherits from Scenery and a View is used to display data in a Scene. This is the object that a "user hacker" is most likely to want to implement. To do so, one need to write just one major class method which sets up the graphical object.

  • Display:
    The Display base class provides a default menu, button and status bar as well as an empty central box. Sub classes aggregate Scenes and Gui widgets into this central box to create a unified display. Displays are widgets which can be aggregated at a higher level or just have one per main window.
  • Notes and Further References

    Main web page for the experimental version of MIDAD.

    Contact:Brett Viren <bv@bnl.gov>
    Fermilab
    Security, Privacy, Legal Fermi National Accelerator Laboratory