50 likes | 143 Views
Status of GDML support in ROOT. A.Gheata SFT group meeting, June 2, 2014. What iS GDML?. Geometry Description Markup Language A pplication - independent geometry description format based on XML GEANT4 geometry persistent format Evolved in parallel with G4 geometry
E N D
Status of GDML support in ROOT A.Gheata SFT group meeting, June 2, 2014
What iS GDML? • Geometry Description Markup Language • Application-independent geometry description format based on XML • GEANT4 geometry persistent format • Evolved in parallel with G4 geometry • Latest release: GDML_3_1_0 from December 2013 • Initially developed by several people (mainly R. Chytracek and W. Pokorsky), now maintained by Witold • XML schema + bindings with GEANT4 and ROOT • G4 binding integrated in the toolkit since version 9.2 • Built optionally: XERCESROOT variable pointing to XercesC parser library, G4LIB_BUILD_GDML=1 • ROOT binding integrated in $ROOTSYS/geom/gdml • Automatic TGeoManager::Export(“.gdml”), but requires configuring with: --enable-gdml
Support in ROOT • GDML as exchange format between GEANT4 and ROOT geometries • Geometries are alike, the common denominator schema to be supported • GDML parser (C++) + writer (Python script) • Ben Lloyd + Witold, end 2006 • TGDMLWrite C++ class re-written • Anton Pytel, Nov. 2011 • Including several fixes and improvements • Other contributors • D. Kruse, A.Gheata – ellipsoid support • A. Gheata – support for isotopes • Several people cotributed with fixes
Missing features • Usage of constants and variables </define> • <constant> and <variable> keywords ignored <entity> not understood • Usage of loops, used to make geometry definition readable and less tedious • <loop for> • Usage of xml nodes across different files (ENTITY statement) • E.g. materials definition or different detectors in separate file • Some of the geometry solids or features which are not supported by ROOT • Would require the development of the ROOT correspondents • User requests • Long-standing ROOT-3347: GDML - constants, multiple files, fraction, unexpected end of file & ENTITY • Recent requests on roottalk
Open to discussion • Approach • To fix: start from existing G4GDMLParser and introduce support for existing GDML schema in TGDMLParse (where possible) • To continue: synchronize adoption of new developments in ROOT • Coordination between ROOT and GEANT4 projects • Timeline • This is rather urgent since it blocks several people in using ROOT geometry features (graphics, checker, event display, …) when starting from a more advanced GDML description. • 1-2 months ? • Resources • I can contribute only partially due to priorities in other projects • Summer student (rather late now), part of the work of a technical student?