Ideas for G4 navigation interface using ROOT geometry

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Geant4 v9.2p02 Speed up Makoto Asai (SLAC) Geant4 Tutorial Course.
Optimizing Compilers for Modern Architectures Allen and Kennedy, Chapter 13 Compiling Array Assignments.
Specialized Geant4 navigation for GATE Jan De Beenhouwer Steven Staelens.
Framework for track reconstruction and it’s implementation for the CMS tracker A.Khanov,T.Todorov,P.Vanlaer.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
CMPE 421 Parallel Computer Architecture
Usage of ROOT geometry with GEANT4
Maria Grazia Pia Detector Response Acknowledgements: A. Lechner, J. Apostolakis, M. Asai, G. Cosmo, A. Howard.
Datasets on the GRID David Adams PPDG All Hands Meeting Catalogs and Datasets session June 11, 2003 BNL.
Multi-level Raid Multi-level Raid 2 Agenda Background -Definitions -What is it? -Why would anyone want it? Design Issues -Configuration and.
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Computer Architecture Lecture 26 Fasih ur Rehman.
Andreas Morsch, CERN EP/AIP CHEP 2003 Simulation in ALICE Andreas Morsch For the ALICE Offline Project 2003 Conference for Computing in High Energy and.
The ALICE Simulation Strategy Andreas Morsch For the ALICE Offline Group Joint STAR/ALICE Offline Meeting Brookhaven National Laboratory, Upton, NY April.
Thread-safety and shared geometry data J. Apostolakis.
Abstract ESOLID is a computational geometry system that performs boundary evaluation using exact computation. Boundary Evaluation Exact computation Problem.
Virtual Monte Carlo and new geometry description in STAR Maxim Potekhin STAR Collaboration Meeting, BNL July 17, 2004 July 17, 2004.
STAR STAR VMC tracker V. Perevoztchikov Brookhaven National Laboratory,USA.
The GeoModel Toolkit for Detector Description Joe Boudreau Vakho Tsulaia University of Pittsburgh CHEP’04 Interlaken.
Jump to first page The new ROOT geometry package Andrei Gheata - ALICE Institute of Space Sciences, Bucharest.
P-Tree Implementation Anne Denton. So far: Logical Definition C.f. Dr. Perrizo’s slides Logical definition Defines node information Representation of.
VMC workshop1 Ideas for G4 navigation interface using ROOT geometry A.Gheata ALICE offline week, 30 May 05.
CBM ECAL simulation status Prokudin Mikhail ITEP.
Towards comparisons between TFluka and TGeant3 ( within CbmRoot Framework) Denis Bertini (IT-GSI) Antonin Maire (IPHC Strasbourg)
STAR Simulation. Status and plans V. Perevoztchikov Brookhaven National Laboratory,USA.
Detector Description (Overview) C.Cheshkov. 25/9/2006Detector Description (C.Cheshkov)OutlineTerminology Overview on: Detector geometry implementation.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
New features in ROOT geometrical modeller for representing non-ideal geometries René Brun, Federico Carminati, Andrei Gheata, Mihaela Gheata CHEP’06,
TGeo & VMCAndrei Gheata, 5 May 04Slide 1 (of 40) ROOT geometrical modeller and Virtual Monte-Carlo LCG-AA meeting Andrei Gheata.
Status of TFluka: geometry and validation Andrei Gheata ALICE Off-line week, 21 Feb
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Three-Dimension (3D) Whole-slide Histological Image Analytics
Section 10: Memory Allocation Topics
Module 11: File Structure
(on behalf of the POOL team)
A Virtual Montecarlo (VMC) Application for AMS-01
Recall The Team Skills Analyzing the Problem (with 5 steps)
Cisco Data Virtualization
Complex Geometry Visualization TOol
Status of geometrical modeler
Geant4 Geometry Speed-ups
A C++ generic model for the GLAST Geometric Description
C++ Standard Library.
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
Markus Frank CERN/LHCb CHEP2013, Amsterdam, October 14th–18th 2013
HEP detector description supporting the full experiment life cycle
Introduction to Events
Chapter 15 QUERY EXECUTION.
The New ROOT Geometry Package
OWL-S: Experiences and Directions, 6th of June, Austria, 2007
Lecture 19 ITK’s Path Framework
Read-out and detector response
OO-Design in PHENIX PHENIX, a BIG Collaboration A Liberal Data Model
Read-out and detector response
Chapter 2: The Linux System Part 5
Simulation Framework Subproject cern
Reference Counted Touchables Design
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Applying Use Cases (Chapters 25,26)
Marc Verderi GEANT4 collaboration meeting 01/10/2002
Applying Use Cases (Chapters 25,26)
rePLay: A Hardware Framework for Dynamic Optimization
COMP755 Advanced Operating Systems
Computer Graphics Matrix Hierarchies / Animation
VMC/GeoGeometry status report 2/2/05
C++ Object Oriented 1.
Presentation transcript:

Ideas for G4 navigation interface using ROOT geometry A.Gheata VMC Workshop, 29-30 Nov. 04 VMC workshop

Outline Motivations Requirements and observations Correspondence between G4-TGeo geometry objects/features A possible strategy Conclusions VMC workshop

Motivations Possibility to compare G3,G4 and FLUKA simulations having the same geometry model behind We have it for G3/FLUKA – it will insure consistency at navigation level Allows usage of TGeo as a simulation engine - neutral geometry in the reconstruction framework VMC provides already an interface to G4 and geometry converters ROOTG4 (see talk from Ivana) What is existing is a big step forward without any doubt, but: Some limitations in mapping certain features available in VMC to G4, Geometry conversions limited to the common denominator of candidates, Possibility of ROOT geometry usage within TGeant4 will certainly give more flexibility Possibility of a cross-check between navigation algorithms G4-ROOT VMC workshop

G4Navigator requirements Pure geometrical queries – taking point,vector,flags as input and returning distance/flags ComputeStep(), ComputeSafety(), GetLocalExitNormal() Geometrical queries requiring a geometrical state as input (G4VTouchable - derived objects) Local-to-Global and Global-to-local transformations VMC workshop

G4Navigator requirements (cont) Geometry queries finding a state and/or acting on a state ResetHierarchyAndLocate(), LocateGlobalPointAndXXX() Geometrical state management and handles, utilities CreateTouchableHistory(), CreateTouchableHandle() CreateGRSVolume/Solid(), Set/GetWorldVolume() VMC workshop

Preliminary observations (1) G4Navigator is an abstract base class, but besides computing pure geometrical parameters, it provides/handles/acts on G4 native geometrical objects This is natural for any OO framework, besides – geometry is not just a set of numbers giving back distances or in/out flags, but also objects embedding information required at tracking time It does not make life easier compared to interfacing a FOTRAN navigator, it just introduces an additional dimension to the problem that HAVE to be dealt with VMC workshop

Preliminary observations (2) Once the previous fact is established, we have to look on: Which are the G4 geometrical classes that are really required for navigation ? What is the mapping between G4 objects and TGeo ones – is there a 1/1 correspondence ? Are the methods purely related to navigation corresponding to what is offered by TGeo ? Knowing all this, what is the best strategy to follow ? Requiring as less as possible development effort, but providing needed functionality Optimizing performance at low memory cost – what is the “good compromise” VMC workshop

Correspondence between G4TGeo geometrical objects G4VSolid  TGeoShape Both abstract base classes with several implementations Same quantities computed: In/Out, distance to boundary, safety, normal to exit point One-to-one correspondence for all G4 solids to TGeo shapes (HYPE was missing but now implemented) Some extra shapes with very low usage (so far) in TGeo: TGeoArb8, TGeoXtru, TGeoParaboloid Interface class: TG4Solid : public G4VSolid Implementation is mandatory Data member: TGeoShape *fShape All query methods can be mapped One limitation: point classification as ON BOUNDARY – missing in TGeo. It will be implemented if required by navigation. VMC workshop

Correspondence G4TGeo (2) G4VPhysicalVolume TGeoNode A volume positioned relative to its container Same functionality Slightly different structures and some differences in parameterization (divisions) treatment – not a stumbling block in the VMC approach Interface class: TG4PhysicalVolume : public G4VPhysicalVolume Data members: TGeoNode *fNode, TG4LogicalVolume *fVolume , *fMother ! (see later) A mapping TGeoNode => TG4PhysicalVolume absolutely needed since TGeoNode is the object provided by TGeo navigation methods VMC workshop

Correspondence G4TGeo (3) G4VTouchable TGeoCacheState Representing a geometrical “touchable” unique object, e.g. a branch in the logical volume hierarchy Created by the navigation interface, ref.-counted handles can be asked also by users Temporary object during TGeo navigation, but supports push/pop mechanism Interface: TG4StatePool – a pool of TG4VTouchable pre-built objects + ref-count handle mechanism TG4VTouchable : public G4VTouchable, holding the current branch of TG4PhysicalVolume objects VMC workshop

Other G4 object needed G4LogicalVolume  TGeoVolume None abstract, both key elements in the logical hierarchy ! Not directly manipulated by TG4Navigator, but required from G4VTouchable/G4VPhysicalVolume by physics processes. Replicas, division, parameterisations First 2 more or less the same in TGeo, third different Tracking requires/acts according this information May affect only when converting parameterized G4 geometries to TGeo VMC workshop

A possible strategy Step 1: TGeoShape acting as G4VSolid Most easy to implement, probably the very first step to do Instead of creating a native G4 solid make rather an object having a pointer to the corresponding ROOT shape. Does not need full ROOT geometry to be built Requires just the new derived class TG4Solid + few modifications in the existing GEANT4 VMC Allows immediately a direct testing/cross check for query/classification algorithms at the level of solids Step2: Implementation of the mechanism of handling geometry states in G4 style as an addition to the current stack style in TGeo Can be done at the level of the interface, but also direcly in TGeo Not a tremendous effort – can be plugged in the interface once ready VMC workshop

Strategy (cont) Step 3: Interfacing/mapping G4 and TGeo logical hierarchies G4 needs its G4LogicalVolume objects => we have to provide them Basically 2 ways for doing this: Pool of limited number of objects of this type, as in the case of touchables Several complications related to the fact that these are not virtual objects + heavy interface management Just create and store full G4 logical tree in memory, in parallel with TGeo ones Size less than 10 MBytes for geometries like ALICE or ATLAS Will surely make the implementation easier Connect the physical volume list as vector<TG4PhysicalNode*> and create the mapping TGeoNode->TG4PhysicalNode VMC workshop

Strategy (last) Step 4: Once we have all the infrastructure, implement all required navigation methods in TG4RootNavigator : public G4Navigator Most methods have a 1/1 correspondence with TGeoManager methods, or are just derived queries that can be factorized in a manageable way One need to have in mind getting to this interface either from TGeo representation or even from G4 native VMC workshop

Conclusions Interfacing G4 navigation with TGeo is a challenge, but can be implemented in a reasonable amount of time (6 months) Created as an option within the current TGeant4, will require less effort and benefit of the existing interface Step by step operation, may come-up with some first results much earlier than expected even if full validation will definitely be longer GEANT4 team is supporting this – will give more flexibility and use cases both to VMC and G4 users No major stumbling block: G4 and TGeo geometries are alike Good policy: provide support for what is incompatible/missing in TGeo but required by G4Navigator, minimize additional structures to be managed at the level of the interface VMC workshop