GEANT4 Geometry Status & Plans

Slides:



Advertisements
Similar presentations
what is VA? advantages tools a b c what is VA? advantages tools fully integrated architectural plug-in for Rhino 4 powerful feature-based editor to create.
Advertisements

Simulation Project Major achievements (past 6 months 2007)
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
14 Overview of Geant4 Examples 2 nd Finnish Geant4 Workshop 6-7 June 2005 Dennis Wright (SLAC)
Recent and on-going developments in Kernel Makoto Asai (SLAC) 4 th Geant4 Space Users’ Workshop November 6 th, 2006.
Geometry III Makoto Asai (SLAC) Geant4 Tutorial Course Geant4 v8.2p01.
14 User Documents and Examples II SLAC Geant4 Tutorial 17 May 2007 Dennis Wright Geant4 V8.3.
Witek Pokorski, Radovan Chytracek, Jeremy McCormick, Giovanni Santin
In the G4/ROOT hierarchy there are three conceptual layers: - G4VSolid: shape, size - G4VSolid: shape, size - G4LogicalVolume: material, MF, sensitivity,
COMPUTER AIDED DESIGN -(CAD)-3
G EANT highlights kernel modules Gabriele Cosmo, CERN PH-SFT for the Geant4 Collaboration Gabriele Cosmo, CERN PH-SFT for the Geant4 Collaboration.
ALCPG October 25 th 2007 Hans Wenzel Calorimetry in slic How-to Motivation for dual readout Calorimeter What are our requirements Why did we choose SLIC.
Emmanuel Delage LPC Clermont – IN2P3/CNRS – Clermont Université
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
W. Pokorski - EP/SFT Simulation Project1 GDML - recent developments Witek Pokorski
W. Pokorski - CERN Simulation Project1 Python binding for Geant4 toolkit using Reflex/PyROOT tool Witek Pokorski EuroPython 2006, CERN, Geneva
XML in Atlas: from generic to parametric detector description Stan Bentvelsen NIKHEF Amsterdam XML workshop, CERN, May 22.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
FLUKA dose and fluence simulations for CBM experiment I.Kadenko, O.Bezshyyko, V.Pluyko, V.Shevchenko National Taras Shevchenko University of Kiev.
The GeoModel Toolkit for Detector Description Joe Boudreau Vakho Tsulaia University of Pittsburgh CHEP’04 Interlaken.
New software library of geometrical primitives for modelling of solids used in Monte Carlo detector simulations Marek Gayer, John Apostolakis, Gabriele.
Jump to first page The new ROOT geometry package Andrei Gheata - ALICE Institute of Space Sciences, Bucharest.
Using of XML for object store S. Linev, GSI Using of XML for object store. S.Linev2 Content XML and existing packages XML and existing packages.
The CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
SoLID simulation with GEMC Zhiwen Zhao 2015/03/26.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
STATUS OF THE UNIFIED SOLIDS LIBRARY Gabriele Cosmo/CERN Tatiana Nikitina/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.
G EANT highlights kernel modules Gabriele Cosmo, CERN PH-SFT for the Geant4 Collaboration Gabriele Cosmo, CERN PH-SFT for the Geant4 Collaboration.
Outline  Developments/fixes in the last year  Introduced in release 9.6 and patches  Planned for release 10.0 and ongoing …  Currently under development.
IT / API 1 CERN 1-Feb-16 GBLIB: classes to deal with geometrical data Evgueni Tcherniaev IT / API CLHEP workshop, January.
Chapter – 8 Software Tools.
Maria Grazia Pia, INFN Genova and CERN1 Geant4 highlights of relevance for medical physics applications Maria Grazia Pia INFN Genova and CERN.
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
Current status of the development of the Unified Solids library Marek Gayer CERN PH/SFT.
GDML “Geometry Description Markup Language” by Daniele Francesco Kruse University of Rome “Tor Vergata” European Organization for Nuclear Research.
Geometry 3 I.Hrivnacova IPN, Orsay Most slides thanks to M. Asai, SLAC Cours Paris June 2007.
Outline  Developments/fixes in the last year  Introduced in release 10.1 and patches (also to 10.0)  Planned for release 10.2 and ongoing …  Currently.
Status of the development of the Unified Solids library Marek Gayer, CERN PH/SFT 2 nd AIDA Annual Meeting, Frascati 2013.
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
STATUS OF GDML SUPPORT IN ROOT A.Gheata SFT group meeting, June 2, 2014.
Lesson Plan: Drafting and Design J6-2. What is 3D solid modeling? How do 3D solid modeling programs work?
A Short Course on Geant4 Simulation Toolkit Introduction
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
CERN, 7 November 2011 Anton Pytel Slovak Technical University TRIP FROM GENERATORS TO GEOMETRIES.
Ben Lloyd 1 New Developments in GDML and in Generator Services Ben Lloyd University of the West of England, Bristol, UK
Update on USolids/VecGeom integration in Geant4 Gabriele Cosmo, CERN EP/SFT.
Geometry & Persistency Recent & ongoing developments
Complex Geometry Visualization TOol
Geant4 Geometry Speed-ups
European Organization for Nuclear Research
A C++ generic model for the GLAST Geometric Description
Geant4 Geometry Objects Persistency using ROOT
Markus Frank CERN/LHCb CHEP2013, Amsterdam, October 14th–18th 2013
HEP detector description supporting the full experiment life cycle
Geometry checking tools
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Simulation Framework Subproject cern
G4 Workshop 2002 Detector Description Parallel Session
CSE591: Data Mining by H. Liu
Use of GEANT4 in CMS The OSCAR Project
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

GEANT4 Geometry Status & Plans Witold Pokorski, CERN

Geant4 Collaboration Workshop, Lisbon Outline Relevant developments in release 8 series Focus on Detection of overlaps Tessellated solids Short-term planned developments Status and new developments in GDML Installation and dependencies New features and future plans 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Geometry modeler - 8.0 Default constructor for direct object persistency (see slide 9) For volumes, solids, materials Generation of random points on surfaces For all combination of solids, including Boolean operations Detection of overlaps at placement/construction of volumes Activated optionally in the constructor or on-demand afterwards New shapes: Ellipsoid, elliptical cone, tetrahedra Nested parameterised volumes Special construction for multi-dimensional parameterisations W.Pokorski D.Anninos, O.Link, V.Grichine G.Cosmo G.Guerrieri, D.Anninos, M.H.Mendenhall J.Apostolakis solids provide possibility to generate random points on their surfaces used for check for overlaps, can be also used by user for visualization, etc... 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Geometry modeler - 8.1 Extensions to G4TransportationManager To support future development for multiple navigators Extensions to G4AssemblyVolume To support assemblies of assemblies To support reflected volumes To allow for overlaps check at construction also for reflections To allow for access to constituent volumes G.Cosmo I.Hrivnacova, G.Cosmo First implementation of tessellated solids Volumes defined by triangular or quadrangular facets Allowing import/export of shapes/assemblies with CAD systems Generalised implementation of store notifiers To be adopted in future also for materials P.R.Truscott allows to coordinate tracking in parallel geometries. G4TranspoMgr holds and manages now a store of navigators access to assembly volumes without going through the volume store at the time of creation solid/p/lvolume there is a call to the notifier (by default empty); before was related only to geometry description, now can also be used for materials (it was taken out of geometry context) G.Cosmo 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Detection of Overlaps Existing techniques on constructed geometry Grids overlap (built-in UI commands) Uses solids response and tracking DAVID tool Using polyhedron graphical representation OLAP tool Verifying tracking response through rays All post-debug techniques Applicable to subsets for complex setups OLAP shots rays from two direction and checks if the order of volumes is the same these are all checks done _after_ construction 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Detection of Overlaps - 2 Check overlaps at construction (since 8.0) Applicable to placements and parameterised Applicable for assemblies and reflections Verifies placement of a single volume against the existing placed volumes Activating a flag in the constructor Or using explicit CheckOverlaps(int res) method Generates 1000 points (res) on surface as default Allows for easy checks for misalignments automatic check after moving a volume 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Tessellated solids G4TessellatedSolid (since 8.1) Generic solid defined by a number of facets (G4VFacet) Facets can be triangular (G4TriangularFacet) or quadrangular (G4QuadrangularFacet) Constructs especially important for conversion of complex geometrical shapes imported from CAD systems But can also be explicitly defined: By providing the vertices of the facets in anti-clock wise order, in absolute or relative reference frame GDML binding can be converted from STEP (see TEST directory) vertices need to be defined in the right order with absolute of relative positions 12 October 2006 Geant4 Collaboration Workshop, Lisbon

A CAD imported assembly with tessellated solids - release 8.1

Geometry persistency using ROOT I/O Geant4 does not come with any persistency mechanism for the geometry objects the Geant4 geometry tree has to be 'rebuilt' each time our goal: to provide a way of quick saving and reading back the G4 geometry in/from a (binary) file using ROOT I/O would nicely extend the functionality of the toolkit remark: this is a different use-case from GDML, where universality of the format was top-priority and not the speed 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Practical case - writing we have our Geant4 geometry in memory and we want to save it in .root file we call a simple 'GeoWriter' tool which: creates a 'wrapper' object containing *TopVolume and pointers to materials and elements static tables calls WriteObject ROOT I/O method trivial implementation no any 'scanning' of the geometry tree needed ROOT traverses all the geometry tree and stores it only needed thing is to export the pointer to the top volume G4 application initialization Geometry construction *TopVolume *MaterialsTable *ElementsTable etc... WriteObject ROOT I/O 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Practical case - reading only binding to ROOT in DetectorConstruction class the Geant4 'main' does not see the loading of the geometry using ROOT I/O 'standard' DetectorConstruction replaced by ROOTDetConstr. G4VUserDetectorConstruction::Construct() returns pointer to the top volume ROOTDetectorConstruction as a simple 'plug-in' one just needs to instantiate it from the 'main' G4 application initialization GetObject(...) ROOT I/O Construct() Geometry construction G4VPhysicalVolume* etc... 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Short-term geometry developments Parallel navigation Ability to define multiple navigators for different geometries in parallel (fast-simulation, importance biasing, scoring) Transportation in presence or not of magnetic field Tunable tolerance Ability to optionally set tolerance for surface thickness and intersection calculation Automatic evaluation of the tolerance according to the geometry topology (world-volume size) Computation of the surface area of a solid In plan for coming December release possibility have the transportation in parallel geometry with magnetic field 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML - Motivation initially developed as an alternative geometry description format for Geant4 to move away from hardcoded geometry to allow flexible geometry configuration without the need to recompile now, playing also an important role of geometry interchange format application independent same GDML file can be used by several application possibility to export geometries from experiment-specific frameworks allows physics validation/comparison, visualization, debugging 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML design choice - why XML? purpose of GDML is to describe data to provide persistent form of geometry data not procedural, but markup language must be easy to read and write no heavy I/O system to read GDML format must be application independent possibility to edit/read geometry files is an advantage XML file can be edited using any editor geometry can be modified easily must be easy to extend and be modular GDML designed as an application of XML 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML components GDML is defined through XML Schema (XSD) XSD = XML based alternative to Document Type Definition (DTD) defines document structure and the list of legal elements XSD are in XML -> they are extensible GDML can be written by hand or generated automatically 'GDML writer' allows writing-out GDML file GDML needs 'reader' 'GDML reader' creates 'in-memory' representation of the geometry description user application (1) GDML writer GDML Schema GDML file GDML reader user application (2) 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML Geant4 binding package available from www.cern.ch/gdml latest release GDML_2_8_0 tested with G4.8.1.p01 autoconf/make based build system requires XercesC parser (tested with versions 2.3.0 and 2.7.0) could be (in the future) integrated more with G4 distribution optional package to be linked against during build 'GDMLDetectorConstruction provided geometry exportation in GDML steered by UI command? 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML document <?xml version="1.0" encoding="UTF-8"?> <gdml xsi:noNamespaceSchemaLocation="GDMLSchema/gdml.xsd"> <define> … <position name="TrackerinWorldpos" unit="mm" x="0" y="0" z="100"/> </define> <materials> <element name="Nitrogen" formula="N" Z="7."> <atom value="14.01"/> </element> <material formula=" " name="Air" > <D value="1.290" unit="mg/cm3"/> <fraction n="0.7" ref="Nitrogen" /> <fraction n="0.3" ref="Oxygen" /> </material> </materials> <solids> <box lunit="mm" name="Tracker" x="50" y="50" z="50"/> </solids> <structure> <volume name="World" > <materialref ref="Air" /> <solidref ref="world" /> <physvol> <volumeref ref="Tracker" /> <positionref ref="TrackerinWorldpos"/> <rotationref ref="TrackerinWorldrot"/> </physvol> </volume> </structure> <setup name="Default" version="1.0" > <world ref="World" /> </setup> </gdml> positions, rotations materials solids geometry tree 'world' volume 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Materials, solids materials material, isotope, element, mixture solids all CSG: box, sphere, tube, cone, parallepiped, trapezoid, torus, all specific: polycone, polyhedra, hyperbolic tube, elliptical tube, ellipsoid, elliptical cone, tetrahedron, twisted solids, tessellate solids boolean solids no BREPs single placements, assembly volumes and reflections replicas, divisions, parameterised volumes (first implementation) optical surfaces and material property sheets NEW NEW 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon Loops, matrices NEW <matrix name=“m” coldim=“3” values=“0.4 9 126 8.5 7 21 34.6 7 9” /> <loop for=“x” to=“5” step=“1”> <box name=“box” x=“10-x” y=“5” z=“m[2,x]” /> </loop> matrices loops (for multiple placements) arithmetic expressions allowed (+, -, *, /, sin, cos, etc) evaluated by CLHEP::Evaluator 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Modular geometry files NEW support for modular GDML geometries several standalone GDML files can now be combined together within another 'top level' GDML file GDML writer can now split geometry in modules LHCb HCal Ecal Muon ... Module1 Module2 ... 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Modular description - example <volume name="DetBox" > <materialref ref="Air" /> <solidref ref="detbox" /> <physvol> <volumeref ref="MyVol" /> <positionref ref="detp0" /> </physvol> <file name="moduleA.gdml" volname="prova2"/> </volume> normal physical volume volume included from file optional volume name (if not top volume from the file) 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Splitting GDML files using ENTITY simple mechanism exists to split any XML file in several parts <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE gdml [ <!ENTITY materials SYSTEM "materials.xml"> ]> <gdml ..... > .... &materials; </gdml> NOTE: the 'extracted' files are not valid GDML files (cannot be used standalone) content of materials.xml file will be included here 12 October 2006 Geant4 Collaboration Workshop, Lisbon

CAD(STEP) -> GDML converter NEW ST - Viewer An interactive tool for viewing 3D CAD information STEP files ST – Viewer uses an internal file format (.geom & .tree) to store geometry info STEPGDML Library functions created to convert STEP files into GDML files GDML Output File Equivalent to the original STEP file Contains only tessellated solids 'first order' approach to use CAD geometries for Geant4 simulation 12 October 2006 Geant4 Collaboration Workshop, Lisbon

CMS detector: G4->GDML->ROOT ~19000 physical volumes snapshot provided by R.Maunder thanks to Pedro Arce for help with running CMS simulation 12 October 2006 Geant4 Collaboration Workshop, Lisbon

LHCb Detector: G4->GDML->ROOT ~5000 physical volumes snapshot provided by R.Maunder 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Using GDML with Geant4 GDML example in examples/extended/gdml to write: #include "WriterG4/G4GDMLWriter.h" G4GDMLWriter g4writer("GDMLSchema/gdml.xsd", "g4test.gdml"); g4writer.DumpGeometryInfo(g4worldvolume); to read: SAXProcessor sxp; sxp.Initialize(); ProcessingConfigurator config; config.SetURI( "g4test.gdml" ); sxp.Configure( &config ); sxp.Run() fWorld = (G4VPhysicalVolume *) GDMLProcessor::GetInstance()->GetWorldVolume(); instantiate GDML writer pass the 'top' volume to the writer instantiate and configure the processor get pointer to 'top' volume GDML example in examples/extended/gdml 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML processing - performance GDML G4reader/G4writer (C++) tested on complete LHCb and CMS geometries parts of ATLAS geometry problem with full ATLAS geometry - use of custom solids for LHCb geometry (~5000 logical volumes) writing out ~10 seconds (on P4 2.4GHz) reading in ~ 5 seconds file size ~2.7 Mb (~40k lines) for CMS geometry (~19000 logical volumes) writing out ~30 seconds reading in ~15 seconds file size ~7.9 Mb (~120k lines) 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML as primary geometry source Linear Collider - Jeremy McCormick, SLAC Linear Collider Detector Description (LCDD) extends GDML with Geant4-specific information (sensitive detectors, physics cuts, etc) GDML/LCDD is generic and flexible several different full detector design concepts, including SiD, GLD, and LDC, where simulated using the same application SiD LDC GLD 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML as primary geometry source Space Research - Giovanni Santin, ESA all geometry models for Geant4 component degradation studies (JWST, ConeXpress,...) GRAS (Geant4 Radiation Analysis for Space) enables flexible geometry configuration and changes main candidate for CAD to G4 exchange format ConeXpress JWST NIRSpec 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML as primary geometry source Anthropomorphic Phantom Project - Giorgio Guerrieri, Maria Grazia Pia, Susanna Guatelli, INFN Modelization of the human body and anatomy for radioprotection studies no hard-coded geometry, flexible configuration 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML future development auxiliary information associated to specific volumes sometimes needed sensitive detector names visualisation attributes magnetic field, etc added optional (auxiliary) element to volume: volume name="VeloSensors" > <materialref ref="Silicon" /> <solidref ref="detectorRUnion" /> <auxiliary auxtype="sensdet" auxvalue="veloSD"/> </volume> Will be in next GDML release 12 October 2006 Geant4 Collaboration Workshop, Lisbon

GDML future development (cont'd) <auxiliary...> element has two string attributes parser does not interpret those attributes, only stores them in the map: volume -> (auxtype, auxvalue) user accesses the map to check if for given volume there are any auxiliary attributes example: check if auxiliary attribute with auxtype = "sensdet" exist use G4SDManager::FindSensitiveDetector(auxvalue) to retrieve pointer to appropriate SD Jeremy McCormick uses more sophisticated technique, extending volume element and loading his own subscribers this goes it the direction of general GDML extensions by users 12 October 2006 Geant4 Collaboration Workshop, Lisbon

Geant4 Collaboration Workshop, Lisbon GDML - Conclusion GDML binding for G4 fully functional example provided in examples/extended/gdml can be used as primary format for geometry implementation can also play a role of an interchange format 12 October 2006 Geant4 Collaboration Workshop, Lisbon