Gaudi Framework Tutorial, 2001 2 XML The persistent world.

Slides:



Advertisements
Similar presentations
1 Web Site Design Overview of the Internet Cookie Setton.
Advertisements

Google Earth/Sky in the Classroom. What is Google Earth/Sky? Google Earth is free program which allows users to: Explore geographic locations both on.
KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Unit 3 Day 4 FOCS – Web Design. No Journal Entry.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
XP Tutorial 4 New Perspectives on Microsoft Windows XP 1 Microsoft Windows XP Personalizing Your Windows Environment Tutorial 4.
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
1 of 6 Parts of Your Notebook Below is a graphic overview of the different parts of a OneNote 2007 notebook. Microsoft ® OneNote ® 2007 notebooks are digital.
RIMS II Online Order and Delivery System Tutorial on Downloading and Viewing Multipliers.
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
Creating a Web Page HTML, FrontPage, Word, Composer.
Lesson 9 Windows Management
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Visual Basic 2008 Express Edition The IDE. Visual Basic 2008 Express The Start Page Recent Projects Open an existing project Create a New Project.
Chapter 3 Navigating a Project Goals & Objectives 1.Get familiar with the navigation of the project. How is everything structured? What settings can you.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation and Geant4.
Getting Started with Expression Web 3
XML introduction to Ahmed I. Deeb Dr. Anwar Mousa  presenter  instructor University Of Palestine-2009.
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 XML Taken from Chapter 7.
Basic HTML Hyper text markup Language. Re-cap  … - The tag tells the browser that this is an HTML document The html element is the outermost element.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
Wiki Training: Advanced Instructor: Zach Silveira (415)
| | Tel: | | Computer Training & Personal Development Outlook Express Complete.
ANSYS Fundamentals This document contains no technical data subject to the EAR or the ITAR.
XP Dreamweaver 8.0 Tutorial 3 1 Adding Text and Formatting Text with CSS Styles.
FIGIS’ML Hands-on training - © FAO/FIGIS An introduction to XML Objectives : –what is XML? –XML and HTML –XML documents structure well-formedness.
Pro/Engineer Nate Bradley. Pro/Engineer “A feature based, parametric, solid 3D geometric modeling CAD/CAM package that enables a user to develop all aspects.
-1- 3D Visualization. Sonia Pujol, Ph.D., Harvard Medical School National Alliance for Medical Image Computing 3D Visualization Sonia Pujol, Ph.D. Surgical.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
Selected Topics in Software Engineering - Distributed Software Development.
Lesson 11: Looking at Files and Folders what a file or folder is on the computer how to recognize a file or folder on the desktop how to recognize the.
By Deborah Nelson Duke University Professor Susan Rodger July 13, 2008.
Forms and Server Side Includes. What are Forms? Forms are used to get user input We’ve all used them before. For example, ever had to sign up for courses.
XML Description of ECAL Geometry  For XML description of ECAL Geometry were used: Det/XmlDDDB/v5, Det/XmlEditor/v4, Det/DetDesk/v6, Vis/GaudiLab/v1r4.
XML in Atlas: from generic to parametric detector description Stan Bentvelsen NIKHEF Amsterdam XML workshop, CERN, May 22.
Lists Tutorial By Deborah Nelson Duke University Professor Susan Rodger July 13, 2008.
1 Introduction to XML XML stands for Extensible Markup Language. Because it is extensible, XML has been used to create a wide variety of different markup.
Sheet 1XML Technology in E-Commerce 2001Lecture 2 XML Technology in E-Commerce Lecture 2 Logical and Physical Structure, Validity, DTD, XML Schema.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
DMED1100 InDesign Advanced Class 8. Agenda  Scripting  Introduction to XML 2.
Lesson 10 - Mail Merge and Reviewing Documents Advanced Microsoft Word.
CMPF124: Basics Skills for Knowledge Workers Manipulating Windows GUI.
Lesson: 2 Common Features and Commands After completing this lesson, you will be able to: Identify the main components of the user interface. Identify.
* DataSpace. * What is DataSpace * DataSpace is a third party add-on to ArcGIS Desktop * Developed by US Bureau of Reclamations * Allows the user to arrange.
Detector Description in LHCb (Extended Version) Detector Description Workshop 4 July 2002 S. Ponce - CERN.
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
XML CSC1310 Fall HTML (TIM BERNERS-LEE) HyperText Markup Language  HTML (HyperText Markup Language): December  Markup  Markup is a symbol.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation Examples.
For the benefit of business and people Lotus Notes R6 Training 4 February 2016 IT Division.
Creating a Google Doc A Quick Photo Tutorial. Sign in to Google Docs If you don’t already have an account, sign up for one, it’s FREE.
If you don’t have Google Earth downloaded already, you can go to to get it.
LHCb Simulation Tutorial CERN, 21 st -22 nd February B 00 l e Detector Simulation Examples.
®® Microsoft Windows 7 Windows Tutorial 7 Managing Multimedia Files.
* DataSpace is a third party add-on to ArcGIS Desktop * Developed by US Bureau of Reclamations * Allows the user to arrange data without actually moving.
Xml News Slide 1 S. Ponce, 21 June 2001 Detector description language news.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
Game Development with Unity3D
A C++ generic model for the GLAST Geometric Description
XML in LHCb Detector Description Framework Radovan Chytracek CERN
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Various News From Detector Description
Detector Description in LHCb
GAUDI Detector Description News Radovan Chytracek 5/1/2019
The Calorimeter Detector Description
Overview of the IDE Visual Studio .NET is Microsoft’s Integrated Development Environment (IDE) for creating, running and debugging programs (also.
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

Gaudi Framework Tutorial, XML The persistent world

2-2 Gaudi Advanced Tutorial, 2001 Objectives After completing this lesson, you should be able to do the following: Read and write XML files Write LHCb detector geometry in XML Visualize the geometry After completing this lesson, you should be able to do the following: Read and write XML files Write LHCb detector geometry in XML Visualize the geometry

2-3 Gaudi Advanced Tutorial, 2001 – XML declaration – Comments – Elements – Attributes XML syntax overview A markup language Extendible A markup language Extendible Lunch... Could we meet at 14:00? Sender’s signature Lunch... Could we meet at 14:00? Sender’s signature – Values Main components :

2-4 Gaudi Advanced Tutorial, 2001 Usage of DTDs Definition of a grammar Specifies : – Allowed elements – Allowed attributes for a given element – Allowed children for a given element Written in markup language too Definition of a grammar Specifies : – Allowed elements – Allowed attributes for a given element – Allowed children for a given element Written in markup language too

2-5 Gaudi Advanced Tutorial, 2001 Example of DTD usage <?xml version=‘1.0’ encoding=‘UTF-8’?> Lunch... Could we meet at 14:00? Sender’s signature <?xml version=‘1.0’ encoding=‘UTF-8’?> Lunch... Could we meet at 14:00? Sender’s signature <?xml version="1.0“ encoding="UTF-8"?> <!ELEMENT (TimeStamp, Sender, Recipient, Subject, Body)> <!ATTLIST TimeStamp time CDATA #REQUIRED"> <!ELEMENT Body (#PCDATA|Signature)*> <?xml version="1.0“ encoding="UTF-8"?> <!ELEMENT (TimeStamp, Sender, Recipient, Subject, Body)> <!ATTLIST TimeStamp time CDATA #REQUIRED"> <!ELEMENT Body (#PCDATA|Signature)*>

2-6 Gaudi Advanced Tutorial, 2001 The LHCb Detector DTD Divided into 3 main parts – structure – geometry – material External DTDs, to be referenced in every LHCb XML files Divided into 3 main parts – structure – geometry – material External DTDs, to be referenced in every LHCb XML files

2-7 Gaudi Advanced Tutorial, 2001 Some specificities Expressions evaluator – units & functions known 12.2*mm +.17*m / tan (34*degree) parameter : a kind of macro protocol://hostname/path/file.xml#ObjectID References : element + “ref”

2-8 Gaudi Advanced Tutorial, 2001 Structure Elements DDDB : the root catalog : a list detelem : a detector element geometryInfo : connection to the geometry userParameter(Vector) : hook for adding parameters specific : hook for extending the DTD DDDB : the root catalog : a list detelem : a detector element geometryInfo : connection to the geometry userParameter(Vector) : hook for adding parameters specific : hook for extending the DTD <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … … <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … …

2-9 Gaudi Advanced Tutorial, 2001 Geometry Elements (1) DDDB : the root catalog : a list logvol : logical volume physvol : physical volume paramphysvol(2D)(3D) : replication of physical volumes tabproperty : tabulated properties DDDB : the root catalog : a list logvol : logical volume physvol : physical volume paramphysvol(2D)(3D) : replication of physical volumes tabproperty : tabulated properties <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> <physvol logvol=“…” name=“…”/> <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> <physvol logvol=“…” name=“…”/>

2-10 Gaudi Advanced Tutorial, 2001 Geometry Elements(2) posXYZ, posRPhiZ, posRThPhi : translations rotXYZ, rotAxis : rotations transformation : composition of transformations box, trd, trap, cons, tub, sphere union, intersection, subtraction : boolean solids surface posXYZ, posRPhiZ, posRThPhi : translations rotXYZ, rotAxis : rotations transformation : composition of transformations box, trd, trap, cons, tub, sphere union, intersection, subtraction : boolean solids surface <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/> <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/>

2-11 Gaudi Advanced Tutorial, 2001 Material Elements materials : the root catalog : a list tabproperty : tabulated properties atom isotope element : a mixture of isotopes material : mixtures of elements or materials materials : the root catalog : a list tabproperty : tabulated properties atom isotope element : a mixture of isotopes material : mixtures of elements or materials <isotope A="11*g/mole“ name="Bor_11“ …/> <element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/> <element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/> <isotope A="11*g/mole“ name="Bor_11“ …/> <element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/> <element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/>

2-12 Gaudi Advanced Tutorial, 2001 XmlEditor Explorer-like XML viewer No need to know XML syntax Checks the DTD when opening a file Allows copy, paste and drag and drop of nodes Allows view of several files at the same time Hide references across files Explorer-like XML viewer No need to know XML syntax Checks the DTD when opening a file Allows copy, paste and drag and drop of nodes Allows view of several files at the same time Hide references across files Easy XML edition $LHCBSOFT/Det/XmlEditor/v*/scripts/xmlEditor(.bat) $LHCBSOFT/Det/XmlEditor/v*/scripts/xmlEditor(.bat)

2-13 Gaudi Advanced Tutorial, 2001 XmlEditor screenshot

2-14 Gaudi Advanced Tutorial, 2001 Panoramix Events and Geometry viewer Takes LHCb specificities into account – references – logical volumes hierarchy – subDetectors Interactive move inside the geometry Events and Geometry viewer Takes LHCb specificities into account – references – logical volumes hierarchy – subDetectors Interactive move inside the geometry $LHCBSOFT/Vis/Panoramix/v*/scripts/panoramix(.bat) $LHCBSOFT/Vis/Panoramix/v*/scripts/panoramix(.bat)

2-15 Gaudi Advanced Tutorial, 2001 Panoramix screenshot

2-16 Gaudi Advanced Tutorial, 2001 References Gaudi user guide XmlEditor documentation “The LHCb detector description DTD” “Extending detector elements and implications“ Panoramix tutorial Everything can be found at : Gaudi user guide XmlEditor documentation “The LHCb detector description DTD” “Extending detector elements and implications“ Panoramix tutorial Everything can be found at :

2-17 Gaudi Advanced Tutorial, 2001 Exercise 1

2-18 Gaudi Advanced Tutorial, 2001 Exercise Goal Define the geometry of a new subDetector Use XmlEditor to write the XML Use Panoramix to visualize it Define the geometry of a new subDetector Use XmlEditor to write the XML Use Panoramix to visualize it

2-19 Gaudi Advanced Tutorial, 2001 Geometry head 1 m 3 m hole ø 30 cm 1 m hole ø 30 cm plate thickness 15 cm spacing 5 cm hole ø 30 cm plate thickness 15 cm spacing 5 cm 1 m 4 identical elements 50 cm 16 m LHCb

2-20 Gaudi Advanced Tutorial, 2001 How to start source $LHCBHOME/scripts/tutorial.csh cd tutorial getpack Tutorial/Detector v3 cd Tutorial/Detector/v3 cp –r data/DDDBStart data/DDDB cd cmt cmt config source setup.csh To launch the applications : setenv DISPLAY ETSUN**:0.0 xhost + lxplus (on the local host) xmlEditor panoramix source $LHCBHOME/scripts/tutorial.csh cd tutorial getpack Tutorial/Detector v3 cd Tutorial/Detector/v3 cp –r data/DDDBStart data/DDDB cd cmt cmt config source setup.csh To launch the applications : setenv DISPLAY ETSUN**:0.0 xhost + lxplus (on the local host) xmlEditor panoramix

2-21 Gaudi Advanced Tutorial, 2001 What has to be done the directory data/DDDB contains part of the LHCb detector description (actually only Velo) and an empty mySubDet. To be done : – define the structure of the detector in data/DDDB/mySubDet/structure.xml – define the geometry of the detector in data/DDDB/mySubDet/geometry.xml – visualize the result and play with it the directory data/DDDB contains part of the LHCb detector description (actually only Velo) and an empty mySubDet. To be done : – define the structure of the detector in data/DDDB/mySubDet/structure.xml – define the geometry of the detector in data/DDDB/mySubDet/geometry.xml – visualize the result and play with it

2-22 Gaudi Advanced Tutorial, 2001 Hints on the structure This is defined in data/DDDB/mySubDet/structure.xml You should define 6 detector elements : – One main – One for the head, and one per element Detector elements only contain references, no detector element. Thus, edit structure.xml directly to add new detector elements at the same level as the main detector element GeometryInfo nodes need a lvname, a npath and a support. Don’t forget them Several detector elements may have the same logical volume, if they are physically identical This is defined in data/DDDB/mySubDet/structure.xml You should define 6 detector elements : – One main – One for the head, and one per element Detector elements only contain references, no detector element. Thus, edit structure.xml directly to add new detector elements at the same level as the main detector element GeometryInfo nodes need a lvname, a npath and a support. Don’t forget them Several detector elements may have the same logical volume, if they are physically identical

2-23 Gaudi Advanced Tutorial, 2001 Hints on geometry Do not forget to add your new sub detector to the LHCb geometry You should create 5 logical volumes only : – The main one – One for the head – One for the other elements – One for the inner of the element (you will need a coordinate system change) – One for the plates Remember the existence of parametrised physical volumes for defining several identical volumes Take care of the case ! Do not forget to add your new sub detector to the LHCb geometry You should create 5 logical volumes only : – The main one – One for the head – One for the other elements – One for the inner of the element (you will need a coordinate system change) – One for the plates Remember the existence of parametrised physical volumes for defining several identical volumes Take care of the case !

2-24 Gaudi Advanced Tutorial, 2001 Hints on XmlEditor File  open to open a file your files are in mycmt/Tutorial/Detector/v3/data/DDDB Double click to open nodes Right click to add elements/attributes Click on a value or node name to edit it Copy/paste available (Ctrl V  paste, Ctrl C  copy, Ctrl X  cut, Ctrl B  paste into parent) Drag & drop available (move, Ctrl  copy, Ctrl Shift  ref) Prefer File  save all to save you work File  open to open a file your files are in mycmt/Tutorial/Detector/v3/data/DDDB Double click to open nodes Right click to add elements/attributes Click on a value or node name to edit it Copy/paste available (Ctrl V  paste, Ctrl C  copy, Ctrl X  cut, Ctrl B  paste into parent) Drag & drop available (move, Ctrl  copy, Ctrl Shift  ref) Prefer File  save all to save you work

2-25 Gaudi Advanced Tutorial, 2001 Hints on Panoramix Use Detector  mySubDet to display your geometry Then, two modes are available (you change by clicking on the icons on the right) : – “small hand”, you can : –rotate with left button + move –translate with middle + move or left + Ctrl + move –zoom with middle + Crtl + move or left + middle + move – “pointer”, you can : –open a volume with Ctrl + left click –remove/add color with left click The “eye” icon automatically resizes the view to your screen Relaunch panoramix when changing geometry Use Detector  mySubDet to display your geometry Then, two modes are available (you change by clicking on the icons on the right) : – “small hand”, you can : –rotate with left button + move –translate with middle + move or left + Ctrl + move –zoom with middle + Crtl + move or left + middle + move – “pointer”, you can : –open a volume with Ctrl + left click –remove/add color with left click The “eye” icon automatically resizes the view to your screen Relaunch panoramix when changing geometry

2-26 Gaudi Advanced Tutorial, 2001 References

2-27 Gaudi Advanced Tutorial, 2001 The LHCb Structure DTD

2-28 Gaudi Advanced Tutorial, 2001 The LHCb Geometry DTD (1)

2-29 Gaudi Advanced Tutorial, 2001 The LHCb Geometry DTD (2)

2-30 Gaudi Advanced Tutorial, 2001 The LHCb Materials DTD