CEDRIC  Revision_backup-2009-02
CEDRIC: An Event Display for COMPASS
Author
Boris Iven <biven[at]mail.cern.ch>, Max Hermann <mhermann[at]mail.cern.ch>

Introduction

CEDRIC is an offline event display application for the COMPASS experiment at CERN. We developed this program as part of our diplom-thesis in computer science at the university of Bonn. For more information about the project, visit the project's homepage http://mhermann.web.cern.ch/mhermann/cedric.

This is the programmer's reference documentation which is automatically generated from the doxygen comments in the source code. The program is written entirely in C++.

Overview

The program is divided into modules, of which the most important one is the

This module implements most of the user-interface, the graphical-representation and the program logic.

The user interface (UI) builds on the open source variant of Qt4, while OpenGL rendering and scene management utilizes on the OpenSceneGraph (OSG) library.

For accessing MDST files we use the PHAST library. A special interface is provided by the singleton PhastInterface. The graphical representation of setup and event entities is implemented as OSG scenegraph node in PhastNode. The scenegraph holding all persistent and transient geometry is managed by PhastScene.

The main UI widgets are ParticleTreeWidget, where the track and particle information is filled in, SetupTreeWidget, which holds its own tree-like representation of the setup entities, and EventTreeWidget, which keeps track of all visited events. All the central UI widgets are managed by MainWindow.

To add specific visualization's (so called "perspectives") one has to sublclass FilterVis. See the two example implementations VisCaloCluster.h and VisTrackDetectors.h to get an idea how to implement own filters.

The Event Map

Besides the classical event display capabilities CEDRIC provides a new, interesting tool, the so-called EventMap or Navigator. The key idea is to represent each event of the MDST as a point on a map where the proximity of two events is proportional to the "similarity" of the respective events. Details on how exactly the similarity-relation is defined and how the map generation is performed can be found in our diplom-thesis.

The following modules are exclusively related to the Event Map: