Skip to content

cbm::qa::report framework

Sergei Zharko requested to merge s.zharko/cbmroot:material-maps-task into master

The framework encapsulates creation tools for a generic QA-report source, which can be compiled into different sources (LaTeX, Beamer, Markdown, HTML, etc.).

A report consists from an ordered tree of elements (cbm::qa::report::Element). At the moment three types of elements are available: cbm::qa::report::Section, cbm::qa::report:Figure and cbm::qa::report::Table. Each element is registered in the LinkDef.h file for accessibility from a ROOT-macro, but never the less does not rely on the ROOT libraries.

A variety of the report source formats is achieved using the Visitor desing pattern. Each set of element compilation rules is defined in a specific implementation of the cbm::qa::report::Engine class (the visitor), which alows the simultanious creation of report different sources. From the box the source for LaTeX plain document (cbm::qa::report::LatexEngine) and HTML-page (cbm::qa::report::HtmlEngine) are available.

The use-case of the framework is given in the cbmroot/macro/qa/report_example.C macro. The macro generate CA tracking status report for a given setup and requires an output from the run_qa.C/mcbm_qa.C macro.

Merge request reports