13 - 15 June 2001ROOT 2001 FNAL1 What Else is New Since ROOT 2000? Fons Rademakers.

Slides:



Advertisements
Similar presentations
Kentico CMS 5.5 R2 What’s New. Highlights Intranet Solution Document management package – WebDAV support – Project & task management – Document libraries.
Advertisements

June, 20013rd ROOT Workshop1 PROOF and ROOT Grid Features Fons Rademakers.
Goals Give you a feeling of what Eclipse is.
1 PROOF & GRID Update Fons Rademakers. 2 Parallel ROOT Facility The PROOF system allows: parallel execution of scripts parallel analysis of trees in a.
JMeter Workshop Friday 1 December 2006 Anthony Colebourne IT Services The University of Manchester.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 15: Internet Explorer and Remote Connectivity Tools.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Software Installation The full set of lecture notes of this Geant4 Course is available at
Emanuele Pasqualucci Extending AppManager Monitoring with the SNMP Toolkit.
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
Sage CRM Developers Course
Linux Operations and Administration
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
Copyright © 2006, SAS Institute Inc. All rights reserved. What Is New in SAS Profitability Management (PrM) 2.1? Authors: Jack Zhang Solution & Version:
EasyBoard Share schedule and ideas in a twinkle. EasyBoard Goals Application features Technologies used Schedule Problems that we can meet Questions?
ROOT Tutorials - Session 51 ROOT Tutorials – Session 8 GUI, Signal/Slots, Image Processing, Carrot Fons Rademakers.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Tutorial 1: Getting Started with Adobe Dreamweaver CS4.
Trilinos 101: Getting Started with Trilinos November 7, :30-9:30 a.m. Mike Heroux Jim Willenbring.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
1 Lecture 19 Configuration Management Software Engineering.
Electronic Communications Unit Presenter: Michael McGuire A wizzy-what ?!! Content Management Is Easy With WYSIWIG Editors.
DUE Hello World on the Android Platform.
Fundamentals of Database Chapter 7 Database Technologies.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
University of Maryland The DPCL Hybrid Project James Waskiewicz.
CPSC 203 Introduction to Computers Lab 23 By Jie Gao.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
CVSQL 2 The Revenge of the SQL. The present Read-only access to CVS repository logs Language is a subset of SQL XML interface for returning results Built-in.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
CMake refactoring P. Hristov 19/03/2014. History I  Recursive makefiles (F.Carminati):  Problems in dependencies  Slow  "Recursive Makefiles.
Guide to Linux Installation and Administration, 2e1 Chapter 11 Using Advanced Administration Techniques.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
EDM Update John Sinclair ORNL. EDM Update Minor feature additions Limits New env vars Optional widget attributes Modifications that support conversion.
OnX & ROOT1 OnX & ROOT on behalf of Guy Barrand ROOT Workshop 2001 June 13 FNAL Ren é Brun CERN.
Paul Scherrer Institut 5232 Villigen PSI CHEP 2006 in Mumbay / / Matthias Schneebeli ROME CHEP 2006 Presented by Matthias Schneebeli a universally.
Root – LHCb Online meeting Eric van Herwijnen Thursday June 14, 2006.
Byoung-Jo CHOI Fall 2007 SW Project II Advanced Linux Programming.
Linux Operations and Administration
Super Scaling PROOF to very large clusters Maarten Ballintijn, Kris Gulbrandsen, Gunther Roland / MIT Rene Brun, Fons Rademakers / CERN Philippe Canal.
LCG AA Meeting 31 October 2007 The new dynamically and extensively customizable ROOT browser Bertrand Bellenot.
Oct 20024th Intl. ROOT Workshop1 New Infrastructure Features Since ROOT 2001 Fons Rademakers.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
CHEP06, Mumbai, India February 2006 General Status of ROOT GUI Ilka Antcheva, Bertrand Bellenot, René Brun, Valeriy Onuchin *, Fons Rademakers CERN,
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Sept. 2000CERN School of Computing1 PROOF and ROOT Grid Features Fons Rademakers.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
LCG AA Meeting 26 April 2006 User Interface Developments in ROOT Ilka Antcheva on behalf of ROOT GUI Work Package.
2001 ROOT Workshop The Summary. Content Most Requested Request already satisfied Build and Distribution Web Page Information and Documentation.
LCG AA Internal Review 30 March 2005 ROOT Graphical User Interface Ilka Antcheva, Bertrand Bellenot, Valeri Fine, Valeriy Onuchin, Fons Rademakers.
Architecture Review 10/11/2004
Fundamental of Databases
Development Environment
The BLISS Framework 4.
PROOF – Parallel ROOT Facility
The BLISS Framework 4.
User Interface Classes Signals / Slots
Concurrent Versions System
Plug-In Architecture Pattern
Presentation transcript:

June 2001ROOT 2001 FNAL1 What Else is New Since ROOT 2000? Fons Rademakers

June 2001ROOT 2001 FNAL2 New Build System Move from CMZ to well known Open Source tools like CVS and (g)make To build ROOT on any platform do:./configure ; make; make install We don’t use autoconf and automake since most platform ifdef’s were already in the source, and we already had figured out how to build shared libs on all platforms, but the idea is the same

June 2001ROOT 2001 FNAL3 Makefile Structure The ROOT Makefile has been structured as described in the paper: "Recursive Make Considered Harmful“ The main philosophy is that it is better to have a single large Makefile describing the entire project than many small Makefiles, one for each sub-project, that are recursively called from the main Makefile. By cleverly using the include mechanism the single Makefile solution is as modular as the recursive approach without the problems of incomplete dependency graphs.

June 2001ROOT 2001 FNAL4 Makefile Features The single Makefile is FAST about 1 sec to check if anything needs to be recompiled The Makefile supports parallel builds make –j 24 on FermiLab’s SGI’s The ROOTBUILD shell variable can be used to steer build export ROOTBUILD=debug

June 2001ROOT 2001 FNAL5 Important Makefile Targets make all(default) make install(install to path specified in./configure) make dist(binary tar.gz distribution) make redhat(build binary rpm, by Christian Holm) make debian(build binary pkg, by Christian Holm) make distsrc(source tar.gz) make distclean(clean everything except configure info) make maintainer-clean(distclean + remove configure info) make cintdlls(build all CINT add-on dll’s) make html(generate HTML documentation of classes) make all- (builds everything for specified module) make distclean- (clean everything for specified module)

June 2001ROOT 2001 FNAL6 LXR Based CVS Web Interface CVS repository cross referenced and browsable/searchable via Web: (accessable via the “Reference Guide” link on the home page) Regenerated every 6 hours

June 2001ROOT 2001 FNAL7 New ROOT GUI Widgets Simple text editor: TGTextEditor

June 2001ROOT 2001 FNAL8 New ROOT GUI Widgets Window splitter: TGSplitter

June 2001ROOT 2001 FNAL9 New ROOT GUI Widgets Progress bars: TGProgressBar

June 2001ROOT 2001 FNAL10 New ROOT GUI Widgets Table layout: TGTableLayout By Brett Viren

June 2001ROOT 2001 FNAL11 New ROOT GUI Widgets Image map: TGImageMap By Valeriy Onuchin

June 2001ROOT 2001 FNAL12 New ROOT GUI Widgets Shutter box: TGShutter

June 2001ROOT 2001 FNAL13 Signals and Slots by Valeriy Onchin Integration of signal and slot mechanism into the ROOT core TQObject, TQConnection, TQClass, … Signal and slots were pioneered by Trolltech in their Qt GUI toolkit This mechanism facilitates component programming since it allows a total decoupling of the interacting classes

June 2001ROOT 2001 FNAL14 Signals and Slots Example: Emitting a Signal class A : public TQObject{ private: Int_t fValue; public: A() { fValue = 0; } Int_t GetValue() const { return fValue; } void SetValue(Int_t); //*SIGNAL* }; class A { RQ_OBJECT() private: Int_t fValue; public: A() { fValue = 0; } Int_t GetValue() const { return fValue; } void SetValue(Int_t); //*SIGNAL* };

June 2001ROOT 2001 FNAL15 Signals and Slots Example: Emitting a Signal void A::SetValue(Int_t v) { if (v != fValue) { fValue = v; Emit("SetValue(Int_t)", v); } void TGButton::Clicked() { Emit(“Clicked()"); }

June 2001ROOT 2001 FNAL16 Signals and Slots Example: Connecting a Signal to a Slot A *a = new A(); A *b = new A(); a->Connect("SetValue(Int_t)", "A", b, "SetValue(Int_t)"); a->SetValue(79); b->GetValue(); // this would is now 79 fButton->Connect("Clicked()", "MyFrame", this, "DoButton()");

June 2001ROOT 2001 FNAL17 Signals and Slots The ROOT signal and slot system uses the dictionary information and interpreter to connect signals to slots Signals are emitted by: TVirtualPad (TCanvas and TPad) TSysEvtHandler (TTimer, TFileHandler) All GUI widgets Let your classes emit signals whenever they change a significant state that others might be interested in

June 2001ROOT 2001 FNAL18 More RDBMS Interfaces In addition to original MySQL interface: Oracle by Michael Dahlinger of GSI PostgreSQL by Gian Paolo Ciceri RDBC, a version of JDBC on top of ODBC by Valeriy Onuchin (see talk on Thursday morning)

June 2001ROOT 2001 FNAL19 OpenInventor Integration Basic interface by Valery Fine Problems: two event loops, ROOT and Xt Merging of Xt in ROOT event loop: dispatch events for Xt managed windows let Xt check and process its timers See TRootOIViewer class Same technique can be used to embed a Motif based application in ROOT

June 2001ROOT 2001 FNAL20 OpenInventor Interface To get OpenInventor interface: Install Open Inventor (set env var IVROOT) ( Re-make ROOT (triggers on IVROOT) Activate via TCanvas “View with OpenGL”

June 2001ROOT 2001 FNAL21 New Networking Classes Parallel socket classes (TPSocket and TPServerSocket) Message striping over multiple sockets Parallel ftp class (TFTP) Parallel remote file access using parallel version of TNetFile and rootd More on these classes in my Friday morning talk

June 2001ROOT 2001 FNAL22 The PROOF System Parallel ROOT Facility, goal: parallel execution of scripts parallel analysis of chains of trees Further infrastructure developments of the PROOF system config file structure, proof daemons, authentication, client -> master -> slaves communication, etc. For more see my Friday morning talk