View
214
Download
0
Category
Preview:
Citation preview
Ianna.Osborne@cern.ch
Off-line Graphics Tools
Ianna OsborneNortheastern University
Ianna.Osborne@cern.ch
Outline
Graphics and graphics tools
IGUANA
Demo
Ianna.Osborne@cern.ch
Graphics
The New Oxford Dictionary of English defines graphics as:
the products of the graphic arts, especially commercial design or illustration;
the use of diagrams in calculation and design;
visual images produced by computer processing.
the use of computers linked to display screens to generate and manipulate visual images.
Graphics tools for GUI, 2D and 3D graphics
Ianna.Osborne@cern.ch
Graphics Application Layers
X11X11 GLXGLX OpenGLOpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI 2D2D3D3D
3D/GUI3D/GUI
User ApplicationUser Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Ianna.Osborne@cern.ch
Graphics Application Layers
X11X11 GLXGLX OpenGLOpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI 2D2D3D3D
3D/GUI3D/GUI
User ApplicationUser Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Ianna.Osborne@cern.ch
Graphics Application Layers
X11X11 GLXGLX OpenGLOpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI 2D2D3D3D
3D/GUI3D/GUI
User ApplicationUser Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Ianna.Osborne@cern.ch
Graphics Application Layers
X11X11 GLXGLX OpenGLOpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI 2D2D3D3D
3D/GUI3D/GUI
User ApplicationUser Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Ianna.Osborne@cern.ch
Graphics Application Layers
X11X11 GLXGLX OpenGLOpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI 2D2D3D3D
3D/GUI3D/GUI
User ApplicationUser Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Ianna.Osborne@cern.ch
IGUANA
Interactive Graphics for User ANAlysis
Main IGUANA focus - interactivedetector and event visualisation:
High- performance 2D/3D graphics;
Graphical user interfaces;
Data browsers.
Integration of other tools, components
The goal is to provide common look and feel for the CMS interactive graphical applications
Interactive analysis is not considered a primary goal. It is assumed that this functionality will be provided by other tools (JAS, Hippodraw, Lizard, ROOT, or OpenScientist)
Ianna.Osborne@cern.ch
GUI Toolkits
X11 GLX OpenGL
OS
Spe
cifi
c (L
inux
)
GUIGUI2D
3D
3D/GUI
User Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Qt
Motif
gtk
Standard DialogsStandard Dialogs
MenusMenus
WidgetsWidgets
Ianna.Osborne@cern.ch
Qt Toolkit
Ianna.Osborne@cern.ch
Qt ToolkitImplicitly and Explicitly Shared Classes that use reference counting for fast copying.
Input/Output and Networking Classes to provide file input and output along with directory and network handling.
Multimedia Classes that provide support for graphics, sound, animation, etc.
The Qt application framework's underlying object model.
Organizers: splitters, tab bars, button groups, etc.
Plugin Classes.
Template Library: container classes.
Text Related and XML Classes (DOM, SAX)
Threading Classes
Widget Classes
Database related classes, e.g. for SQL databases.
Date and Time Classes for handling date and time.
Drag and Drop Classes dealing with drag and drop and mime type encoding and decoding.
Environment Classes to create and handle events and to provide various global services (event handling, access to system settings,internationalization.
Non-GUI Collection Classes such as list, queue, stack and string, along with other classes that can be used without needing QApplication.
Graphics and Printing Classes to provide drawing (and printing) primitives, including OpenGL and digital image encoding, decoding and manipulation.
Layout Management Classes to handle automatic resizing and moving of widgets, for composing complex dialogs.
Ianna.Osborne@cern.ch
Qt Example#include <qapplication.h>#include <qpushbutton.h>#include <qfont.h>
int main( int argc, char **argv ){ QApplication a( argc, argv );
QPushButton quit( "Quit", 0 ); quit.resize( 75, 30 ); quit.setFont( QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( &quit ); quit.show(); return a.exec();}
#include <qapplication.h>#include <qpushbutton.h>#include <qfont.h>
int main( int argc, char **argv ){ QApplication a( argc, argv );
QPushButton quit( "Quit", 0 ); quit.resize( 75, 30 ); quit.setFont( QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( &quit ); quit.show(); return a.exec();}
Ianna.Osborne@cern.ch
Qt Toolkit
Platforms: Qt/Windows is designed for MS Windows 95/98/Me, NT4, 2000 and XP.
Qt/X11 is designed for Linux, Solaris, HP-UX, IRIX, AIX, and many other Unix variants.
Qt/Mac is designed for Apple Mac OS X.Windows
A non-commercial version of Qt/X11 is the de facto standard C++ toolkit for GUI applications on Linux. The KDE desktop environment is based on Qt/X11.
Used by CMS, LHCb, D0, etc.
Recommended by LCG
Ianna.Osborne@cern.ch
3D Graphics Packages
X11 GLX OpenGL
OS
Spe
cifi
c (L
inux
)
GUI2D
3D3D
3D/GUI
User Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Low-level 3D graphics: OpenGL
High-level 3D graphics:Open Inventor
Integration of 3D graphics with GUI toolkit: SoQt
HEP-specific 3D extensions: IGUANA (HEPVis)
Ianna.Osborne@cern.ch
2D Graphics
X11 GLX OpenGL
OS
Spe
cifi
c (L
inux
)
GUI 2D2D3D
3D/GUI
User Application
Gra
phic
s T
oolk
itsan
d L
ibra
ries
Qt
Qwt
Qplotter
Kmatplot
HEPVis
ROOT
Ianna.Osborne@cern.ch
User Application
FederationFederationwizardswizards
Detector/EventDetector/EventDisplayDisplay
Data BrowserData Browser
Analysis jobAnalysis jobwizardswizards
Generic analysis Generic analysis ToolsTools
ORCAORCA
FAMOSFAMOS
ObjyObjytoolstools
GRIDGRID
OSCAROSCAR COBRACOBRADistributedDistributedData StoreData Store
& Computing& ComputingInfrastructureInfrastructure
CMSCMStoolstools
Consistent User Consistent User Interface: IGUANAInterface: IGUANA
Coherent basic tools and Coherent basic tools and mechanismsmechanisms
Ianna.Osborne@cern.ch
IGUANA Plugin Architecture
Plug-InCachePlug-In
Cache
ObjectFactoryObject
FactoryComponentDatabase Plug-In
Cache
Plug-InPlug-In
Plug-InPlug-In
Plug-In ObjectFactory
Attached
Unattached
IGUANA provides a platform that makes it easy to integrate GUIs as a coherent whole, to provide application services and to visualise any application object
Many categories / layers: GUI gadgets & support, application environment, data visualisers, data representation methods, control panels, …
Designed to integrate with and into other applications
Virtually everything is in plug-ins (can still be statically linked)
Ianna.Osborne@cern.ch
Frameworks
ODBMS
GEANT 3 / 4
CLHEPPAW
Replacement
C++ Standard Library
+ Extension Toolkits
CalibrationObjects Generic Generic
Application Application FrameworkFramework
Physics modulesPhysics modulesGrid-UploadableGrid-Uploadable
BasicBasicServicesServices
Adapters and ExtensionsAdapters and Extensions
ConfigurationObjects Event
Objects
(Grid-aware) Data-Products
SpecificSpecificFrameworksFrameworks
EventEventFilterFilter
ReconstructionReconstructionAlgorithmsAlgorithms
PhysicsPhysicsAnalysisAnalysis
DataDataMonitoringMonitoring
Ianna.Osborne@cern.ch
ORCA Visualisation with IGUANAInteractive 3D CMS Detector geometry (Geant3) for sensitive volumes with level of details;Interactive 3D reps of reconstructed and simulated events including visualisation of physics quantities such as tangent of a simhit;Access event by event or automatically fetching events (no batch mode);Event and run number displayed;
Interactive picking;Correlated selection;Projections (a la 2D);Save .iv and print (gif, jpeg, tiff, bitmap and vector postscript);
Multiple (cloned) views;Slices and cuts;Printout for selected objects;Zoom and search;
Context help;Viewpoints;
Ianna.Osborne@cern.ch
OSCAR (Geant4) Visualisation
Ianna.Osborne@cern.ch
Tracker selection map:
display a layer/ring in a 3D window;
open a 2D map of a layer/ring.
2D selection maps:
display a module in a 3D window.
Print information
for selected
module
Draw SimHits
for selected
modules
Custom tracker selection is
implemented by Maria Mennea
and Guiseppe Zito, INFN
Vertex visualisation is
implemented by
Stephanie Moreau, IN2P3
PRS Contributions to IGUANA
Detector units
along
SimTracks
Improved performance;
New development by PRS groups:
● custom tracker selection,
● vertex visualisation
Tracker reconstruction geometry
implemented by
Eric Chabanat and Stephane
Olivie Perries, IN2P3
Ianna.Osborne@cern.ch
A bug in the HCAL noise simulation:"virtual" HCAL barrel towers (No. 16, 17) R = 280 cm (depth = 3) produce noise
Found and Fixed Problems: Digis in HCAL
Recommended