GraXML. Modular Geometric Modeler History Architecture. Data Sources Applications. Generic Model Geometric Model Core

Similar documents
The virtual geometry model

A Geometrical Modeller for HEP

ATLAS Tracking Detector Upgrade studies using the Fast Simulation Engine

Interactive 3D graphics in HEP

Working with JavaScript

MathML to TeX Conversion: Conserving high-level semantics

JAIDA, JAS3, WIRED4 and the AIDA tag library experience and new developments

Monte Carlo programs

The CORAL Project. Dirk Düllmann for the CORAL team Open Grid Forum, Database Workshop Barcelona, 4 June 2008

Reducing CPU Consumption of Geant4 Simulation in ATLAS

Web3D Design Printing and Scanning WG

Prototyping. SWE 432, Fall Web Application Development

GAG: GEANT4 Adaptive Graphical User Interface M. Nagamatsu y, T. Kodama y;æ, H. Uno y, H. Yoshida y, K. Ohtsubo z;ææ, S. Tanaka z, M. Asai?, Y. Oohata

Animation & Rendering

CLAS12 Offline Software Tools. G.Gavalian (Jlab) CLAS Collaboration Meeting (June 15, 2016)

PROBLEM SOLVING AND PYTHON PROGRAMMING

Using XML and RDBMS Data Sources in XPages Paul T. Calhoun NetNotes Solutions Unlimited, Inc

Grid Exemplars: Web mapping in 3D. - Mark Morrison

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy

PXD Simulation and Optimisation Studies

CMS Simulation Software

Using Xml Schemas Effectively In Wsdl Design

Electron and Photon Reconstruction and Identification with the ATLAS Detector

Introduction to Transformations. In Geometry

CISC 1600 Lecture 2.4 Introduction to JavaScript

AME Scripting Guide. Release 1.0

Detector controls meets JEE on the web

SCOPED CERTIFIED APPLICATION INSTALLATION AND

Business Intelligence and Reporting Tools

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Visualization in GEANT4. 1 Introduction. 2 User Requirements. University of Manchester, UK. John Allison

IGUANA Architecture, Framework and Toolkit for Interactive Graphics

K-5 Mathematics Missouri Learning Standards: Grade-Level Expectations

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

INTRODUCTION TO THE ANAPHE/LHC++ SOFTWARE SUITE

ENGINEERING CALCULATIONS IN SCIA DESIGN FORMS A link between 3D CAE software and customised design checks

Software Installation, release 5.2

William s Top 10 Things to Do With Minorthird. William W. Cohen CALD

3 AXIS STANDARD CAD. BobCAD-CAM Version 28 Training Workbook 3 Axis Standard CAD

Graphics for VEs. Ruth Aylett

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

Experiences with Open Inventor. 1 Introduction. 2 HEP Visualization in an Object-Oriented Environment

Lesson 2: Wireframe Creation

Using Fluxes and Geometries

Visualization and modeling of traffic congestion in urban environments

Big Ideas. Objects can be transferred in an infinite number of ways. Transformations can be described and analyzed mathematically.

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications

Database Programming with PL/SQL

How To Get Database Schema In Java Using >>>CLICK HERE<<<

Using Relational Databases for Digital Research

Presentation of the Open Frontier Framework as a Platform for Space Engineering Tools. Holger Sdunnus (eta max space GmbH, Germany)

INF5750. Introduction to JavaScript and Node.js

Event visualisation for the ATLAS experiment - the technologies involved

The Athena data dictionary and description language

Topics. Overview of VRML 97 VRML Today After VRML

Reconstruction of existing hull shapes with PIAS-PhotoShip

Module 1.Introduction to Business Objects. Vasundhara Sector 14-A, Plot No , Near Vaishali Metro Station,Ghaziabad

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

High Level Graphics Programming & VR System Architecture

Field Types and Import/Export Formats

MCAF (Metadata Capture and Formatting)

A Data Flow Approach to Color Gamut Visualization

<Insert Picture Here> JavaFX 2.0

Programming in Scala Second Edition

Geant4 application in a Web browser

Murach s Beginning Java with Eclipse

Escher s Circle Limit Anneke Bart Saint Louis University Introduction

DD4hep Based Event Reconstruction

Unit 3: Congruence & Similarity

Metadata Requirements for Digital Museum Environments

Module 01 Processing Recap. Program structure Types Declarations Expressions Statements

( )

Engineering Drawing II

Geometric Templates for Improved Tracking Performance in Monte Carlo Codes

Current trends: Scripting (I) A bid part of interface design centers around dialogs

Introduction to Eclipse

Microsoft Excel 2016 Level 1

Geometry. Chapter 5. Types of Curves and Surfaces

VALLIAMMAI ENGINEERING COLLEGE

AIM. 10 September

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

[MS10962]: Advanced Automated Administration With Windows PowerShell

ORACLE DATABASE 12C INTRODUCTION

BRA BIHAR UNIVERSITY, MUZAFFARPUR DIRECTORATE OF DISTANCE EDUCATION

The GEANT4 toolkit. Alessandro De Angelis. L Aquila, September University of Udine and INFN Trieste

Atlantis event display tutorial

Lesson 5 Solid Modeling - Constructive Solid Geometry

Number and Operation Standard #1. Divide multi- digit numbers; solve real- world and mathematical problems using arithmetic.

Recent developments of the AGATA Simulation Code

"Unpacking the Standards" 4th Grade Student Friendly "I Can" Statements I Can Statements I can explain why, when and how I got my answer.

The LHCb Alignment Framework

Large Scale Software Building with CMake in ATLAS

ADT: Eclipse development tools for ATL

Atlantis: Visualization Tool in Particle Physics

Cut per region. Marc Verderi GEANT4 collaboration meeting 01/10/2002

Properties of Quadratic functions

GAUDI Detector Data Model

The full detector simulation for the ATLAS experiment: status and outlook

Potential issues: * Difficulty in coding and/or finding the. * Should I provide more source code? * Others

Transcription:

GraXML Modular Geometric Modeler History Architecture Generic Model Geometric Model Core Data Sources Applications J.Hrivnac (LAL/Orsay) for CHEP'03 in La Jolla, Mar'03

History (1) Originally just 3D Detector visualisation for Atlas Generic Detector Description (AGDD). Several other geometry descriptions added later: AliDD (extended AGDD) AGDD v6++ (with math formulas, access to RDBMS,...) AtlasEvent AtlantisEvent (as prototype) GDML (as prototype) Direct access via API (Java directly, C++ via JACE proxies)

History (2) Requirements on Event/Detector Display functionality often correspond to requirements on Geometric Modeler: Logical navigation in complex geometric structures, Geometrical navigation (where am I?, intersections, picking, transparency, calibration and interactivity,...), Optimised geometry (millions of 3D objects). The only additional Display functionality is the manipulation of visual properties (colors,...) - quite memory hungry. 3D Geometry Engine can be used as a Geometric Modeler foundation if visual overhead can be removed.

History (3) Java3D, used as Geometry Engine in GraXML, can be used without visual overhead. GraXML has been re-engineered to provide flexible Geometric Modeling Toolkit with optional Display capabilities. GraXML components: Core Generic Modelers (logical graphs) Geometric Modelers (3D graphs) Applications (visual or not) Utilities

Architecture Content RDB Data Source Structure XML Understands JDBC Filled by Generic Model Build by JAXB Interprets General Geometric Model Constructed by Builder Java3D Written per Schema Uses Generated from Schema Application External

Generic Model Model.xsd Geometry.xml Numbers.db Model.xjs <box x=... y=... z=... /> JDBC JAXB Public class box { public double x; public double y; public double z; } Geometry.xml (filled) XSLT Alternative XML Object Model. Representing Classes created from XML Schema definition. Geometry.xml (expanded) Element.java Element.java Generic Model

JAXB Generic Model (2) Representing Classes created from XML Schema definition: Proper set/getters created. Variables have proper types and default values based on Schema definition and optional customisation file. Generation can be customised (via XML customisation description) to capture more complex structures and relations. Generated classes can be modified by extension or by helper conversion classes. More natural and faster than DOM/SAX.

Initial values XML file can have initial values outsourced into RDBS (for example NOVA DetDescrDB). XSQL Schema is used to define connections between XML file and RDBS. Simple JDBC Connection is used to fill those values into parametrised XML file. <XSQLConfig> <connectiondefs> <connection name= demo >... <dburl>jdbc:mysql://atlassw1.phy.bnl.gov/nova_dev</dburl> </connection> </connectiondefs> </XSQLConfig>... <var connection= demo name= SCT.length />...

Formulas Symmetries and dependencies between attributes in XML file can be expressed using standard mathematical formulas. XSLT stylesheets with simple Java BeanShell evaluator is then used to expand structures with formulas to concrete elements. Design by Ch.Arnault <array name="a" values="1;2;3;4;5;6;7;8;9;10"/> <table name="t"> <row values="1;2;3;4;5"/> <row values="6;7;8;9;10"/> </table> <var name="a0" value="1"/> <var name="b" value="a0*2"/> <var name="c" value="a[2]*a[3]"/>... <box X_Y_Z= 5.5; a[5]; t[2,3] name= abox />...

Geometric Model (1) Java3D SceneGraph build from GenericModel according to BuildOptions: Generic element Geometric element Java3D SceneGraph Java3D Shape/Group GraXMLRep Graphical or not: Whether to insert visual attributes. Level of Optimisation: How far to share representations (SharedGroup) for identical structures. Level of Quality (restricted by Optimisation): How closely to make approximations and visual extensions. Level of Interactivity (defined by Optimisation and Quality): How interactive Display should be, how far can be objects calibrated. Representations (ant their properties) to be used to represent Generic Objects.

Geometric Model (2) Functionalities are generally added as special nodes inserted into a SceneGraph. As a SceneGraph (or its subgraphs) are then compiled for speed, BuilderOptions can't be changed later (when SceneGraph is active and used). Group TransformGroup Interacter Solid DetachableConnection

HEP Java3D Shapes All Geant4 CSG Solids (and some others) implemented as standard Java3D Shapes (with equivalent constructors). Usually specialisations of more generic Shapes. New Shapes (Helix,...) are added as needed. Special Shapes (Outline,...) included too. Contribution to FreeHEP.

SceneGraph Optimisation Repeated structures are discovered during SceneGraph building and reused as SharedGroups. Level of optimisation depends on chosen BuildOptions. More optimised SceneGraph is smaller and faster, but does allow only limited interactivity (calibration,...) as SceneGraph Groups are often shared and can't be individually changed.

Interactivity / Calibration Depending on level of Optimisation, SceneGraph elements (Shapes, Groups) can be modified at run-time: Calibration Graphical Operations: Modification of Real Object (shape, place, orientation,...) Modification of Visual Characteristics (visibility, color, transparency,...)

Data Sources XML: API: Detector Description: AGDD v4: original explicit Atlas Generic Detector Description AliDD: AGDD with additional elements used in Alice AGDD v6: AGDD with arithmetic formulas and connection to RDBS GDML (prototype): Geant4 proposal Events: AtlasEvent XML files AtlantisEvent XML files Both Generic and Geometric Models can be created directly from Java and C++ (using JACE-created proxies).

Applications built using GraXML Toolkit (1) Detector and Event 3D Display: Very small application build on top of GraXML Toolkit. Complete 3D picture (solid, wireframe, transparency,...) Extensive interactivity (both real and visual properties of objects can be interactively changed) Java scripting via BeanShell (access to full Java environment) Customisable 3D representation Other standard 3D Display features (snapshot, picking,...) Config.setQuality(9); SelectedColor.setPalette(SelectedColor.ATLANTIS); TruthTrack.setPtCut(5.0); Hit.asSphere(); Hit.colorFromKine(); w.show( Test.xml ); j3d.snapshot( Picture.jpg ); Script

Applications built using GraXML Toolkit (2) Alice Frame in GraXML (XML file generated from Geant4).

Applications built using GraXML Toolkit (3) Atlas Muon chamber.

Photo-realistic View Applications built using GraXML Toolkit (4) Track in Atlas Inner Detector and Muon Detector. Transparent volumes

Applications built using GraXML Toolkit (5) Atlas Event in Tile Calorimetr Semi-cutted, semi-transparent Alice Atlas Event in TRT Atlas Track in Muon Chamber

Applications built using GraXML Toolkit (6) Artistic view of Atlas Event in Inner Detector.

Exporters: Applications built using GraXML Toolkit (7) Into VRML/X3D: to be used by any VRML browser or in the 3D Cave. Into TXT: for debugging. Converters: Between AGDD v4, v6, v6++ via XSLT stylesheets Between AtlasEvent and AtlantisEvent XML via simple application. Importers: Geant4 to AGDD: simple C++ application provided in Virtual MC built in Alice (thanks to I.Hrivnacova).

Summary GraXML toolkit provides flexible foundation for modeling of 3D spacial data in HEP. Most of the required functionality is provided directly by Java3D, the rest is implemented on top. Applications build on GraXML can run in Graphical or non-graphical mode.

Links GraXML: http://hrivnac.home.cern.ch/hrivnac/activities/packages/graxml More details talk: http://hrivnac.home.cern.ch/hrivnac/activities/2001/september/graxml AGDD: http://atlas.web.cern.ch/atlas/groups/database/detector_description JAGDD: http://hrivnac.home.cern.ch/hrivnac/activities/packages/jagdd GDML: http://gdml.web.cern.ch/gdml AtlasEvent: http://hrivnac.home.cern.ch/hrivnac/activities/packages/graphicsatlasevent NOVA: http://atlassw1.phy.bnl.gov/nova/index.php3 Geant4 Geometry Convertor: http://root.cern.ch/root/vmc/xml.html Java3D: http://www.j3d.org JAXB: http://java.sun.com/xml/jaxb Author: http://hrivnac.home.cern.ch/hrivnac