140 likes | 163 Views
Modeller news. A.Gheata, M.Gheata. Geometry add-ons. New primitive shape implemented: TGeoTorus Algorithms for computing the normal to shape boundaries implemented: ComputeNormal() Global computation of normal to next crossed surface: TGeoManager::FindNormal()
E N D
Modeller news A.Gheata, M.Gheata ALICE off-line week
Geometry add-ons • New primitive shape implemented: TGeoTorus • Algorithms for computing the normal to shape boundaries implemented: ComputeNormal() • Global computation of normal to next crossed surface: TGeoManager::FindNormal() • Ray-tracing utility – useful for both visualization and navigation validation within a given geometry setup: TGeoVolume::Raytrace() • Several minor fixes and improvements in the user interface. • Ongoing work on the users guide A.Gheata, ALICE of-line week
Torus shape • TGeoTorus represent a toroidal tube having phi segmentation • Not really used in geometry descriptions so far (missing in G3?) – still, G4 has one • Defined by 5 parameters: axial radius, inner and outer radii, starting phi and phi range. • All features for this shape are currently fully implemented and tested. A.Gheata, ALICE of-line week
Finding and computing normals • Each primitive shape class implement the algorithm for computing the normal to its closest boundary w.r.t a local point • Assumption – the point is close enough to a surface (next crossed surface is also the closest one) • TGeoManager::FindNormal(point, dir, Bool_t forward) The manager class finds the first crossed boundary -> corresponding node -> corresponding shape. It extrapolates the current track to a “close” point (verifying the assumption), converts the local normal in MARS. • Convention: The dot product of the normal with the current direction is positive defined. • Computed on demand from arbitrary points/directions A.Gheata, ALICE of-line week
Ray tracing • Main motivation: checking and tuning the algorithms for normals computation • Second: validation for all navigation features working together • Third: slower but better visualization • Fourth: possibility to visualize composite shapes • Not last: quite easy to do having everything working • Implementation: shooting rays through each pixel of the pad according the current view parameters, using the simplest illumination model (parallel light coming from back of the observer) A.Gheata, ALICE of-line week
Ray tracing (ctd.) • Ray-traced imaged are produced fast (a couple of seconds for single volume -> ~14 seconds for full ALICE at default canvas size). This scales with the canvas size. • Ray-traced views can be clipped with any shape and support picking, rotating, zooming, output as .gif • Improvements can be made both in performance and capabilities A.Gheata, ALICE of-line week
Validation of navigation features • First thing to do: checking primitive by primitive all shapes -> few fixes • Checking composite shapes A.Gheata, ALICE of-line week
Validation – ctd. • The final step was to check with more complex geometry configurations A.Gheata, ALICE of-line week
TPC A.Gheata, ALICE of-line week
TRD A.Gheata, ALICE of-line week
PHOS A.Gheata, ALICE of-line week
RICH A.Gheata, ALICE of-line week
MUON arm A.Gheata, ALICE of-line week
Conclusions and to-do’s • Normal computation is required by all tracking MC’s -> implementation in VMC classes a matter of days now. This will put the new TGeant3-TGeo version in a validation-ready status. • Ray-tracing becomes a useful tool for both checking and visualization • Next step – resuming the work on FLUKA interface • Users guide required by everybody – work already well on the way A.Gheata, ALICE of-line week