1 / 12

GEOM – Status and developments

GEOM – Status and developments. Andrei Gheata, Mihaela Gheata ROOT 2005. Outline. Package functionality New shapes Assemblies of volumes New developments for navigation I/O improvements Graphics To-do list. Package functionality. Geometry model description

Download Presentation

GEOM – Status and developments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GEOM – Status and developments Andrei Gheata, Mihaela Gheata ROOT 2005 GEOM – Status and developments

  2. Outline • Package functionality • New shapes • Assemblies of volumes • New developments for navigation • I/O improvements • Graphics • To-do list GEOM – Status and developments

  3. Package functionality • Geometry model description • Independent on simulation code • Navigation functionality • Interfaced with transport MC’s via VMC (simulation) • GEANT3 – in production, available in ROOT repository • GEANT4 – navigation interface under development • Preliminary version expected by end ’05 • FLUKA – Geometry interface validated against FLUKA examples, available in AliRoot repository • Consolidation for latest FLUKA release ongoing • API usable by track propagation algorithms (reconstruction) • Geometry checking tools • Overlap checking • Raytracing + other built-in checking methods testing how tracking works in a given setup • Visualization • Event display • Support for objects like: tracks, hits, digits, clusters will be soon added at TViewer3D level GEOM – Status and developments

  4. Shapes • Currently: 21 basic shapes implemented • “Basic” = implements all TGeoShape functionality for navigation and visualization • Additions: TGeoHype, TGeoHalfSpace • Hyperboloids defined by: inner/outer minimum radii and stereo angles, half-length in Z • Half-spaces defined by: a point (x, y, z) and the normal vector in this point (nx, ny, nz) pointing outside the half space • To be used ONLY in the definition of composites GEOM – Status and developments

  5. Scaled shapes • Possibility to scale geometry requested by users • Not many use cases for hierarchical scaling • Except enlarging/shrinking uniformly a structure • Hard to implement navigation in general case (non-conservation of distances) • More useful and easy to implement at shape level • Scaled shapes available in October release GEOM – Status and developments

  6. B A C A TGeoVolume TGeoVolumeAssembly Volume assemblies • Union of several different volumes positioned with respect to a common local frame • An assembly is just a volume having no shape container • No medium/material needed: a point INSIDE the assembly is always in one of the components • The assembly provides a logical grouping used not only during geometry creation phase, but also to optimize navigation (TGeoShapeAssembly) • Provides a way to create an additional hierarchical level in a flat structure of objects WITHOUT defining a physical container Overlap ! GEOM – Status and developments

  7. Usage of assemblies • Easy creation using TGeoVolume interface • TGeoVolume *vol = new TGeoVolumeAssembly(name); • vol->AddNode(pVol1, id, pMatrix); • Same constrains as for volumes (no overlaps of components) except extrusion • Very useful for defining complex structures where is hard to define a container made of a basic shape • Nesting allowed • No navigation performance penalty • Example of usage in: $ROOTSYS/tutorials/assembly.C • Description in release notes GEOM – Status and developments

  8. IN OUT Navigation ! • Consistent behavior when track is crossing boundaries • Boundary tolerance implemented in DistFromInside/DistFromOuside shape algorithms • New navigation method • TGeoManager::FindNextBoundaryAndStep • Consistent “ON boundary” flagging • Several minor fixes and improvements GEOM – Status and developments

  9. I/O • TGeoManager::Export(“geom.root”) • .root I/O • Minor fixes since last workshop • TGeoManager::Export(“geom.C”) • Exports geometry as a C++ file • Algorithmic part of geometry building lost, but very useful for developing new geometry code from existing geometry • Saving just a part of the geometry possible • TGeoVolume::SaveAs(“volume.C”) • TGeoManager::Export(“geom.cad”) • On the wish list GEOM – Status and developments

  10. ATLAS (CRYO) ATLAS ALICE (ITSD) CMS Graphics • Great work and big development effort made by Richard Maunder and Timur Pocheptsov for geometry GL rendering in the context of TViewer3D reorganization • Solid GL rendering supporting: light models, picking, transparency, clipping, … • Full support for CSG rendering (composite shapes) • TPadView3D – OpenGL acting as a pad • Many other “goodies” coming soon (see Richard’s presentation) GEOM – Status and developments

  11. To-do list • Short & medium term • Work on TGeo-G4 interface • Support for scaling transformations (October release) • Support for parameterized shapes (December) • Medium to long term • CAD I/O • Geometry builder GUI GEOM – Status and developments

  12. Conclusions • Existing functionality and API of GEOM classes quite stable • Mostly small fixes • Navigation interfaces with transport engines validated • GEANT3 and FLUKA • GEANT4 – TGeo interface under development • Preliminary version this year, but a more complete one in the next • New features already in or scheduled • New shapes, assemblies of volumes, I/O, builder GUI • Most on user demands GEOM – Status and developments

More Related