Requests for Summer Students ---------------------------- Axel/Stefan: Automatic loading of Reflex information in ROOT files Like automatic loading for dictionary libraries it should be also possible to allow automatic loading of Reflex information contained in ROOT files. The idea is to implement in Reflex a mechanism which will allow to do that. E.g. the information contained in rootmap files could be used via the PluginService to load the reflection information in an automatic way. The student will have to combine the PluginService with the ROOT I/O and enable population of Reflex via this mechanism. This will be also benefitial for BOOT in the longterm. Ilka ROOT: GUI Developments The ROOT Graphical User Interface (GUI) classes are fully cross-platform and provide standard components for an application environment with common 'look and feel'. This availability of the basic user interface elements assigns many tasks to be done for the ROOT users in the future. The ROOT GUI work package can offer the following software development in user interface classes: - Multiple line labels and tooltips - new development related to the label text with new-line delimiters, different font styles within lines, hyperlinks features. - Drag and Drop - a modern and intuitive way of transferring information within different ROOT applications; an addition to the clipboard support for moving and copying data in ROOT. - Table/Grid widget - new development related to a GUI widget containing multiple sections of rows and columns, where each section may be independently scrolled and resized by dragging its borders. Training recommended: see ROOT User's Guide and http://root.cern.ch Content of the project: 100% computing Expected training value of the project: experience with designing user interface and application programming. Computing skills required: OO design and programming in C++; use of different operating systems (Linux, Windows) Student: computer scientist Supervisor: Ilka Antcheva Second supervisor: Fons Rademakers Lorenzo ROOT:Math Libraries development The candidate will be integrated in the team of the Math work package of the ROOT project. This team has the responsibility of providing the basic mathematical libraries to physicists developing reconstruction and analysis programs and give support to them. The main task of the student will be to perform unit and validation tests of new implementation of numerical and statistical algorithms implemented in the new R OOT mathematical library. In addition he will work on simple examples and tutori als which will be published on the Web site. Main Supervisor: Lorenzo Moneta Second Supervisor: ???? Student Profile: Mathematician/Physicist/Computing Scientist Skills required: some basic knowledge of C++, applied mathematics and/or statistics. Training value: learn numerical computation and statistical methods and improve the knowledge of object oriented languages like C++ Fons Implement a generic task processor in PROOF. Extend PROOF to process generic task in parallel. Implement a TPacketizerTask which takes care of task processing. Olivier ROOT:Graphics: 2-D and 3-D ========================== Graphics is an essential component of any data analysis and data presentation system. As such ROOT is not an exception: The ROOT's graphical libraries provide support of many different functions including basic graphics, high-level visualization techniques, output on files, 3D viewing etc. They use well-known world standards to render graphics on screen (X11, GDK, Qt, and OpenGL), to produce high-quality output files (PostScript, PDF), and to generate images for Web publishing (SVG, GIF, JPEG, etc.). Many techniques allow visualization of all the basic ROOT data types (e.g., histograms, Ntuples, `trees', graphs, analytic functions, cuts), projected in different dimensions and coordinate systems (2D, pseudo 3D, full 3D, 4D) and can be produced in high quality for publication purposes. In this context the ROOT Graphics Work Package can offer several projects for a summer student all related to data's graphics representation. They are of various kind: * Improvements in existing C++ classes, * Development of new C++ classes, * Framework improvement (graphics test suite, examples), * Basic 2D graphics, * Output (PDF, SVG), * High level 2D graphics or 3D graphics. One project may cover one or several of these aspects. Some projects may also have some connections with the graphical user interface (GUI): High level graphics classes like TGraphPolar, TPie etc need specific editors which are still missing. Also some existing editors need to be completed. Other specific requirement: The candidates should be fluent in C/C++ programming language. Some knowledge in computer graphics and GUI would be also very useful. Supervisor: Olivier Couet Second supervisor: Ilka Antcheva Student: computer scientist