ROOT Event Recording system

Slides:



Advertisements
Similar presentations
Introduction to Macro Introduction to Visual Basic for Application Recording a Macro Looking at the code of Recorded Macro.
Advertisements

Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Tutorial 8: Developing an Excel Application
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Customizing Word Microsoft Office Word 2007 Illustrated Complete.
Event-Driven Programming and Access Events
Using the Visual Basic Editor Visual Basic for Applications 1.
Word Lesson 16 Working with Macros Microsoft Office 2010 Advanced Cable / Morrison 1.
Access Tutorial 10 Automating Tasks with Macros
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Microsoft Visual Basic 2012 CHAPTER TWO Program and Graphical User Interface Design.
Object Matching With Faces CS460 Project Presentation By Sam Buyarski.
Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1.
From BlueJ to NetBeans SWC 2.semester.
Microsoft Excel Macros & Excel Solver (IENG490)
Bertrand Bellenot ROOT Users Workshop Mar ROOT GUI Builder Status & Plans ROOT & External GUI World MFC, FOX, Qt, PVSS… Snapshot of the Future.
Introduction to VBA MGMI Aug What is VBA? VBA = Visual Basic for Application Excel’s powerful built-in programming language An event-driven.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Adding User Interactivity – Lesson 51 Adding User Interactivity Lesson 5.
Introduction to Matlab & Data Analysis
Creating Multimedia Interaction with Windows Media Technologies 7.
UCSC All rights reserved. No part of this material may be reproduced and sold. 1 IT1202-Fundamentals Of Programming (Using JAVA) Interacting with.
Intro to Excel - Session 7.31 Tutorial 7 - Session 7.3 Developing an Excel Application.
Introduction to Windows Programming
1 Introduction to C# Programming Console applications No visual components Only text output Two types MS-DOS prompt - Used in Windows 95/98/ME Command.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
The Basics: EViews Desktop, Workfiles and Objects
® Microsoft Access 2010 Tutorial 10 Automating Tasks with Macros.
I Power Higher Computing Software Development Development Languages and Environments.
CS-1020 Dr. Mark L. Hornick 1 Event-Driven Programming.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
1 Setting Up for RePast, and Running a Repast Stand Alone Example 06/21/2004 by Deddy Koesrindartoto Department of Economics Iowa State University.
Chapter 23. Copyright 2003, Paradigm Publishing Inc. CHAPTER 23 BACKNEXTEND 23-2 LINKS TO OBJECTIVES Record, Run, Pause, and Delete Macros Record, Run,
Excel Macros 1 Macros or, How to Automate Part of Your Spreadsheet or Worksheet.
Problem Solving Methodology Rachel Gauci. Problem Solving Methodology Development Design Analysis Evaluation Solution requirements and constraints. Scope.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
An Introduction to Programming with Alice Playing an Alice World.
S11-1 ADM , Section 11, August 2005 Copyright  2005 MSC.Software Corporation SECTION 11 MACROS: OVERVIEW.
Introduction to Microsoft Excel Macros COE 201- Computer Proficiency.
Modal Dialogs. What is a Modal Dialog? A modal dialog is a separate window that remains in focus until it is closed by the user. During this time the.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 3 Building an Application in the Visual Basic.NET Environment.
Introduction to Matlab Module #10 Page 1 Introduction to Matlab Module #10 – Creating Graphical User Interfaces Topics 1.Overview of GUI Development using.
LCG AA Meeting 31 October 2007 The new dynamically and extensively customizable ROOT browser Bertrand Bellenot.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Go4 Workshop J.Adamczewski-Musch, S.Linev Go4 advanced features.
IV&VS Capabilities. 2 L OADRUNNER C ONTROLLER – S CENARIO DESIGN.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Using Macros Lesson.
LCG AA Internal Review 30 March 2005 ROOT Graphical User Interface Ilka Antcheva, Bertrand Bellenot, Valeri Fine, Valeriy Onuchin, Fons Rademakers.
Fundamental of Databases
Dive Into® Visual Basic 2010 Express
Turning method call into an object
GUI Design and Coding PPT By :Dr. R. Mall.
Distributed object monitoring for ROOT analyses with Go4 v.3
SECTION 3 MACROS: OVERVIEW.
Gannon University Frank Xu
Implementing Listening Producers in IBM Sterling Filegateway
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
User Interface Classes Signals / Slots
05 | Desktop Applications
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Software Engineering and Architecture
Tutorial 10 Automating Tasks with Macros
The Basics: EViews Desktop, Workfiles and Objects
EViews Training The Basics: EViews Desktop, Workfiles and Objects Note: Data and Workfiles for examples in this tutorial are: Data: Data.xlsx Results:
Presentation transcript:

ROOT Event Recording system Katerina Opocenska, CERN PH-SFT Summer student 2008 [1/7/2008 – 12/9/2008] Supervisor: Bertrand Bellenot 26th August 2008

Project motivation & goals To record and replay events in ROOT Commandline events Commands typed by user ("new TBrowser();") GUI events Window creation, resize, movement Mouse movement, (double)click, drag&drop … Why? QA purposes (especially ROOT GUI) Presentations, tutorials To avoid performing the same operations manually again and again Create once and then just replay Like macros in Excel

How it works – overview Recorder implemented as standalone ROOT script recorder.C Only few lines of code added to ROOT sources Interface for recorder: TRecorder.h Using of signal-slot communication mechanism Recorded events stored in TFile All events from 1 recording session stored in 1 TFile Stored in TTree data structure Recorder runs both on Linux and Windows Platform-specific solutions developed for replaying of windows moving

Recording Start ROOT Run recorder: .L recorder.C+ Prefarably with no windows Run recorder: .L recorder.C+ recorder(); Push ● button to start recording In "Save As" dialog enter name for log file Work with ROOT freely Issue commandline commands Work with GUI Press stop button on recorder to stop recording Interactive demo

Replaying Run recorder: .L recorder.C+ Push ► button to start In "Open" dialog choose ROOT file with previously recorded events Watch the replaying Mouse cursor is used when replaying When replaying finishes, it is written to the console Interactive demo

Recording & replaying - notes In fact: replaying = state recreation All the objects are created again Replaying events = executing them on real (recreated) objects Same setup needed for recording and replaying Just the execution of static code is recorded, not the code itself If you record command ".x path/script.C" and you want to replay it, this script must be present in the same place also in time of replaying State capturing is part of recording If you want to replay events for some window, creation of this window must be also recorded Create window Start recording Work with window Start recording Create window Work with window

C++ (non-GUI) interface for Recorder class TEventRecorder : public TRecorder { public: // Recording void Start(const char * filename, Option_t * option="RECREATE"); void Stop(); // Replaying bool Replay(const char * filename); void Pause(); void Resume(); void ReplayStop(); // Listing void List(const char * filename); void ListGui(const char * filename); } …

Conclusion Major part of project has been already done My plan for the next 2,5 weeks: Implementing additional requests  Testing and fixing minor bugs Developing better GUI for recorder Improving current code smoother cursor and windows movement optimalization of performance Code comments User and programmer documentation