TotemMonitor

Collection of data-quality monitoring tools focusing on low-level entities (e.g. single VFAT channels). It comprises interactive GUI as well as batch-processing utilities for automated testing.

Documentation:

Versions

  • The current version based on Qt4 is available at trunk/online/monitor in the TOTEM SVN Repository.
  • A historical version based on Qt3 is available at /branches/monitor_qt3/.

The rest of this page refers to the current version.

Compilation

CMake build system is used. Using the usual Cmake build routine is sufficient if all libraries are detected correctly - if not one should consider specifying them manually.
  1. mkdir workingdir && cd workingdir
  2. cmake ..
  3. make
You may consider adding -j[number of threads] flag to make execution - it will improve build time greatly (remark: try to adjust number of threads to number of cores at your machine).

Please note that you can build only binary that you actually need without building the rest of project - simply type binary name as make target, for instance make monitor.

When running cmake yields errors about libraries not found try specifying their locations manually as described in README.md.

For supported library versions refer to README.md.

Running

After project is built you can find executables at workingdir/build/bin/

Project development

Project subdirectories are considered as subprojects. Each subproject build produces a library and (optionally) executables. Basically by convention src/ contents form a library while each item from test/ constitutes a executable. Then needed subprojects (their libraries) are linked to executables. Remember that you can build only binary that you actually need without building the rest of project (only libraries that are actually linked are build).

To add your own subproject edit CMakeLists.txt and add entry for subproject's library (that should be a-copy-paste of any other library). Then create executable definition (which again should be quite analogous to others) and link subproject's library along with other dependencies.

Directory structure, file names and coding rules

Each directory (subproject) should contain at least following subdirectories:
  • interface (for headers *.h) ,
  • src (for sources *.cc , without main() function)
  • test (for examples *.cc , with main() function)

It is recommended for source files to have extensions *.cc, header files *.h .
Class names should begin with upper case letter, one class should be in one file and name of class should be the same as name of file.
For example: class BigCar (not bigCar or bigcar) should be in file BigCar.h and BigCar.cc .

Edit | Attach | Watch | Print version | History: r48 < r47 < r46 < r45 < r44 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r48 - 2015-07-24 - JanKaspar
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    TOTEM All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback