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 under development and scheduled for inclusion in the December release this year 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA 2
Geometry 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA 3
Fixes in G4Cons Fixed typo in GetPointOnSurface() in the call to GetRadiusInRing(), responsible for occasionally wrong reports when checking for overlaps Fix in DistanceToIn(p,v) for points on the Surface, to resolve rare error reported in unit testing by the OpticalEscape test Fixed triangularisation method AddGeneralPOlygoneFacets() in G4ExtrudedSolid by avoiding flat triangles Addressing problem report #1703#1703 Fixes to G4Polycone and G4Polyhedra Fixed precision problem in calculation of DistanceToSide() in G4PolyconeSide Fix in SetOriginalParameters() for G4Polycone and G4Polyhedra, in case of presence of 'rings' structures. Addressing problem report #1705# September th Geant4 Collaboration Meeting, Batavia (Illinois), USA Fixes/updates to solids p03, p04, 10.1.p01
Fixes in G4Para Fixed calculation of Normal for sides in DistanceToOut(p,v) and ApproxSurfaceNormal(p) Addressing problem report #1736#1736 Fixed DistanceToOut(p) and Inside(p) in G4Sphere for sphere cut in theta for point (0,0,0) and for cases when Start/End angle have not to be taken in account (STheta==0 || eTheta==pi) Fix triggered by analysing setup provided in problem report #1702#1702 Added wrappers for Utrap, UExtrudedSolid, UGenericTrap and UMultiUnion 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA Fixes/updates to solids p
Fixes in UCons Corresponding fixes in G4Cons in GetPointOnSurface() and DistanceToIn(p,v) Fixes in UPolycone Correction in Capacity() for iteration over the number of sections and in SurfaceArea() in case opening-angle is less than 2*pi Fixes in InsideSection() for openPhi when StartPhi is negative, in Init() for Polycone defined from ZPlane[0]>ZPlane[N], and in DistanceToOut() for points starting on internal surface Fix in InsideSection() for points(0,0,z). Corresponding fix in G4Polycone for SetOriginalParameters() and DistanceToSide() in UPolyconeSide Fixed approximation in Extent() for UTet Fix in UTrap for SafetyToIn/Out() for reverted calls 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA Fixes/updates to USolids p p04, 10.1, 10.1.p p04, p01
Fixed triangularisation method AddGeneralPolygoneFacets() in UExtrudedSolid by avoiding flat triangles Fixes in USphere Corresponding fixes in G4Sphere in DistanceToIn(p) and Inside(p) for sphere cut in theta Corrected string returned as type-ID by GetEntityType() to conform to shape kind in: UExtrudedSolid, UMultiUnion, UQuadrangularFacet, UTessellatedSolid, UTrap, UTriangularFacet and UVCSGfaceted Renamed ExceptionSeverity struct to UExceptionSeverity and related tags in UUtils to avoid clashes with Root Added Utrap, UExtrudedSolid, UGenericTrap and UMultiUnion 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA Fixes/updates to USolids p p
First replacement of shapes with vectorised versions from VecGeom Box, Tubs, Cons, Polycone, Polyhedra, Trap, Trd, Sphere, Orb Additional shapes: Torus, Paraboloid 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA More on USolids … Expected for release See detailed presentations on VecGeom in parallel session 4B Removal of internal USolids module Drop-in replacement of original G4 solids by using versioned external VecGeom/USolids library
Corrections in G4Navigator in the computation of exit normal and fix for the calculation of stored step endpoint, for steps that do not hit a boundary G4ErrorPropagationNavigator : added GetGlobalExitNormal() method to match the update of G4Navigator interface made back in release 9.5. Revised implementation of ComputeStep() Addressing problem report #1679#1679 Fix in G4PathFinder to pass to equation of motion relevant properties of current particle (latest charge state, PDG spin value, momentum and rest mass of current particle) Fix in calls to ComputeSafety() to correctly use length as argument Addressing problem report #1696#1696 Enabled ComputeStep() in navigation helper classes (Normal, Voxel, and Parameterised) to recognise invalid points outside the mother volume Improved diagnostics in G4NavigationLogger Improvements in G4PropagatorInField to enable identification of first and last step in a volume, when tracking in a field Addressing old problem report #1032# September th Geant4 Collaboration Meeting, Batavia (Illinois), USA More fixes/updates Navigation p04, p04, 10.1.p p p02
Introduced pool G4NavigationHistoryPool for storage and reuse of navigation history levels collections Disabled use of G4EnhancedVectorAllocator in G4NavigationHistory accordingly Reduced memory churn vs. use of standard allocator and full copy of vector collections Reduced use of malloc()/free() within vector collections Use of G4Allocator for dynamic allocations of G4NavigationHistory objects Simplified implementation in G4NavigationHistoryPool to make use of simple stack of free entries Pre-allocate size of vectors and inlined GetLevels() Also addressing problem report #1730# September th Geant4 Collaboration Meeting, Batavia (Illinois), USA New allocation strategy for navigation history data p02
More expected for release 10.2 … 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA 11 Enable parameterisation by solids type in MT mode Feature currently not supported when running in MT mode Enabled use of divisions in MT mode Proper treatment of rotation-matrices in division classes in G4VDivisionParameterisation Addressing problem reports #1743 and 1750# Fixed logic error in G4MultiLevelLocator::EstimateIntersectionPoint() for keeping consistent candidate intersection Addressing cases of negative steps and convergence problems with field observed in ALICE 10.1.ref09
Persistency 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA 12
Added implementation for import/export of Multi-Union structures Usable only for USolids classes Updated GDML schema for ‘multiUnionNode’ entity (GDML version 3.1.1) Correction to G4GDMLReadMaterials::MixtureRead() to revert order of reading (first elements then materials) for mixtures by fraction; corrects referencing for cases when elements and materials may carry the same name (case reported by ATLAS) Fixed typo in G4GDMLWriteSolids::BooleanWrite() for the case of repeated displacements of the reference solid in the same Boolean operation (issue reported by ATLAS) Extended GDML reader/writer to support import/export of regions/cuts as auxiliary data (GDML version 3.1.2) 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA GDML module p04, Beta
More on GDML: Fixed export of reflected volumes No redundant duplicated logical volumes in the store after import of geometry Added missing “dichroic” surface model for optical property Added support for writing and reading copy-numbers associated to placements Updated GDML schema (GDML version 3.1.3) Object persistency: Restore detector-description objects persistency functionality Broken since migration to MT; expected for release 10.2 To be brought up to date with Root-6 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA More on persistency… Beta 10.1.p ref08
Thanks! 29 September th Geant4 Collaboration Meeting, Batavia (Illinois), USA 15