Skip to content
Snippets Groups Projects
  1. Feb 09, 2004
    • Rene Brun's avatar
      From Andrei Gheata: · 0dfcc00e
      Rene Brun authored
      I have attached the new files and all modifications done by Mihaela to
      include the new shape TGeoXtru representing the old TXTRU shape.
      Currently she implemented the Contains() method. The shape can be also
      visualized in the pad or x3d (see atached macro). The only limitation in
      x3d is that the end-polygons are not decomposed into convex polygons, so
      in case the section of the TGeoXtru is concave the drawing is not well
      handled.
        I also included a minor modification in TGeoManager.h needed by FLUKA
      (that now can perform tracking and completers gAlice->Run() with TGeo!!!)
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@8163 27541ba8-7e3a-0410-8455-c3a389f83636
      0dfcc00e
  2. Dec 11, 2003
  3. Nov 28, 2003
  4. Nov 14, 2003
  5. Nov 11, 2003
  6. Sep 04, 2003
  7. Aug 29, 2003
    • Rene Brun's avatar
      New considerable speed-up of the ray tracing algorithm. · 8518a400
      Rene Brun authored
      Alice can be drawn in 14.5s instead of 1400s.
      
      -Add bit kVisOnScreen in TGeoAtt.
      -Replace calls to TGeoPainter::IsOnScreen by calls to TGeoAtt::TestBit(TGeoAtt::kVisOnScreen)
      -delete function TVirtualGeoPainter::IsOnScreen and TGeoPainter::IsOnScreen
      -In TGeoNode replace call to TGeoPainter::IsOnScreen by TGeoAtt::TestBit(TGeoAtt::kVisOnScreen)
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@7172 27541ba8-7e3a-0410-8455-c3a389f83636
      8518a400
    • Rene Brun's avatar
      Fix by Philippe to a problem reported by Maarten · c9e326e0
      Rene Brun authored
      TFormula::TFormula(TFormula const &) was indirecly accessing uninitialized memory.
      This is fixed by initializing the value in it.
      
      TF1::Copy was leaking memory (not deleting existing arrays), once this was fixed,
      this required to add the proper initialization in TF1::TF1(TF1 const &).
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@7170 27541ba8-7e3a-0410-8455-c3a389f83636
      c9e326e0
  8. Aug 28, 2003
  9. Aug 22, 2003
  10. Aug 21, 2003
    • Rene Brun's avatar
      A few fixes by Andrei to solve portability problems, in particular under Windows. · dac31c94
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@7123 27541ba8-7e3a-0410-8455-c3a389f83636
      dac31c94
    • Rene Brun's avatar
      From Andrei Gheata: · 9b613a7f
      Rene Brun authored
      - computation of normals to all primitive shapes, except TGeoCompositeShape
      - improved TGeoTorus algorithms
      - ray tracing feature : works as TGeoVolume::Draw() except that the
      volume is ray-traced according to current visualization settings. All
      features from a normal drawing are preserved : picking, zooming,
      rotating,... The time for producing the ray-traced image scales with the
      surface of the current pad (in pixels) and to the number of visible
      nodes on screen. The current image can be clipped with any other shape,
      defined in the reference frame of the current drawn volume. It works like:
          TGeoTubeSeg *clip = new TGeoTubeSeg(params...);
          gGeoManager->SetClippingShape(clip);
          someVolume->Raytrace();
          ...
          gGeoManager->SetClipping(kFALSE/kTRUE); to disable/enable clipping.
        If the clipping shape is changed, the old one is automatically deleted.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@7121 27541ba8-7e3a-0410-8455-c3a389f83636
      9b613a7f
  11. Jul 31, 2003
    • Rene Brun's avatar
      From Andrei GHeata: · 12759556
      Rene Brun authored
      - TGeoManager::FindNormal(Bool_t forward=kTRUE)  = global algorithm for
      finding the normal to the next/previous crossed surface, from the
      current global point/direction. The current point does not necessary
      need to be close to the surface, and the normal direction is always
      returned so that its dot product with the current direction is positive
      defined. One can get the normal after its computation with:
          Double_t *TGeoManager::GetNormal()
      
      - Normal computation algorithms for box, arb8, trap, gtra, cone in the
      corresponding shape classes.
      
      - New primitive shape fully implemented, from visualization to
      computation of distances (except the normal computation, missing also
      for several other shapes). Class name: TGeoTorus, representing a torus
      segment with :
          - R - radius of the circle representing the torus axis
          - Rmin - inner radius    (like a donut having a hole in the middle)
          - Rmax - outer radius (Rmin < Rmax < R)
          - Phi1 - start phi
          - Dphi - phi range
      
      - Some unused obsolete methods removed from the TGeoShape class.
      - modifications in TGeoIdentity default ctor to initialize gGeoIdentity
      - TGeoMaterial::IsMixture(),
         TGeoMaterial::FindDuplicateMaterial(const TGeoMaterial *mat)
      
      - several other minor changes
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@7022 27541ba8-7e3a-0410-8455-c3a389f83636
      12759556
  12. Jul 07, 2003
  13. Jul 05, 2003
  14. Jun 17, 2003
    • Rene Brun's avatar
      Comment declaration of unused function ShowPoints · 5241a2f8
      Rene Brun authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@6732 27541ba8-7e3a-0410-8455-c3a389f83636
      5241a2f8
    • Rene Brun's avatar
      New version of the geometry package from Andrei/Mihaela · 796ba36d
      Rene Brun authored
      TGeoArb8 - pictures added
      TGeoBBox - doc, pictures
      TGeoCache - id array for physical nodes
      TGeoCompositeShape - doc added
      TGeoCone - pictures, bug fiz in Z divisions, correction in 'safety'
      TGeoEltu - pict. added
      TGeoManager - registration of matrices, unique volume id's
      TGeoMatrix - copy ctors., = and * operators, improvements, extensive doc.
      TGeoNode - doc added
      TGeoPara - pictures
      TGeoPatternFinder - registration of pattern matrices
      TGeoPcon - fix in Z divisions, fix in 'safety', pictures
      TGeoPgon - same as Pcon
      TGeoShape - doc added
      TGeoSphere, Trd1,2, Tube - pictures added
      TGeoVolume - doc updated
      
      TGeoChecker - doc., improvement of extrusions checker by Mihaela
      TGeoPainter - does not create polygons array in X3dBuffers when drawing
      in pad
      TGeoTrack - compilation warnings fixed
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6725 27541ba8-7e3a-0410-8455-c3a389f83636
      796ba36d
  15. May 07, 2003
    • Rene Brun's avatar
      New version of the geometry package from Andrei: · accd6d1e
      Rene Brun authored
      4 new files:
        geom/inc/TVirtualGeoTrack.h
        geom/src/TVirtualGeoTrack.cxx
        geompainter/inc/TGeoTrack.h
        geompainter/src/TGeoTrack.cxx
      
      This new version adds support for track visualization. Adding tracks is a user task
      and can be done using :
        TGeoManager::AddTrack() for primary tracks. The manager class knows
      about the current primary and provides utility methods to
      retreive/change this. Users has to handle only TVirtualGeoTracks.
      Secondaries can be added to their primary :
        TVirtualGeoTrack::AddDaughter()
      Points (x,y,z,tof) can be associated with a track :
        TVirtualGeoTrack::AddPoint()
      
        Providing tracks to the modeller and adding points are users tasks.
      Track names should be supplied by users after creation :
          TVirtualGeoTrack::SetName() - note that tracks are not tnamed
      objects, but their names are globally handled by the TGeoManager. The
      usage of ROOT default particle names are recommended for tracks since it
      triggers special colors/line attributes.
      Tracks are drawable/pickable objects. Drawing options are :
        - default - only current track drawn
        - /D      - track and first level daughters
        - /*      - track and all descendents
        - /N<name> - only tracks from particles with given <name>
      
      If points with time of flight are supplied, the drawing range tmin,tmax
      can be specified :
        TGeoManager::SetTminTmax() (if no arguments time cut is supressed)
      
      Tracks can be animated individually or global :
        TVirtualGeoTrack::AnimateTrack(tmin,tmax,nframes,option)
        TGeoManager::AnimateTrack(tmin,tmax,nframes,option)
      
      Animation otions are :
        /G - animate also geometry in the given time interval
        /S - save all frames as .gif files
        drawing options act as well in animation. Options can be concatenated
      and should be upper case (due to /N<name>)
      
      If tracks are defined, the geometry I/O takes them into account.
      However, when loading a geometry file containing tracks, libGeomPainter
      has to be loaded since it contains the class implementation definition :
          gSystem->Load("libGeom")
          gSystem->Load("libGeomPainter")
          TGeoManager::Import("mygeom.root")
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6563 27541ba8-7e3a-0410-8455-c3a389f83636
      accd6d1e
  16. Feb 18, 2003
    • Rene Brun's avatar
      From Andrei; · 8f4ffdeb
      Rene Brun authored
      TGeoManager :
       - Safety() fully implemented using voxelization
       - FindNextBoundary() modified in order to compute safety only when
      needed (when a value MAXSTEP representing the physical step is given as
      input).
      TGeoBBox :
        - correction for points exactly on box boundary for DistToIn()
      TGeoVoxelFinder :
      - fast check if distance to the voxel corresponding to a given node is
      smaller than a input value - used in computing safety and distance to
      next boundary;
      TGeoChecker:
      - CheckPoint() changed to use new Safety().
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6144 27541ba8-7e3a-0410-8455-c3a389f83636
      8f4ffdeb
  17. Feb 17, 2003
    • Rene Brun's avatar
      · 0a1fcc0a
      Rene Brun authored
      m andrei;
      TGeoManager :
       - added TGeoManager::Safety() that computes the global safety for the
      current point. This is just the first implementation, since it does not
      use yet voxelization. This will be needed for the VMC because for the
      time being safety is computed just for the crossed volumes along the
      current direction plus the current volume, which of course is not enough
      - finding the closest neighbour for a given point has to use a different
      algorithm.
       - added weight estimation for the top volume
      
      TGeoMaterial :
       - material index in the list of materials added as data member (as for
      volumes) - I needed this for weight computation, but it will be helpfull
      for any other analysis based on material indexing.
      
      TGeoVolume :
       - weight estimation method in the context menu of volumes : can be
      verbose (default) or not and takes as argument the desired precision.
      Prints error (1 x SIGMA)
      
      TGeoChecker:
       - implementation of weight estimation based on sampling random points
      in the bounding box of a volume. Materials with rho<0.01 g/cm3 (mostly
      gases) ignored due to the fact that we generally do not want to weight
      the air in the top volume container (it can have quite significant mass)
      
      other modified classes just provide redirection of Weight() method to
      the geopainter package.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6136 27541ba8-7e3a-0410-8455-c3a389f83636
      0a1fcc0a
  18. Feb 13, 2003
  19. Feb 12, 2003
    • Rene Brun's avatar
      From Andrei: · 69e37213
      Rene Brun authored
      "I managed to change completely the way to draw overlaps. Now class
      TGeoOverlap has line and 3D attributes and paints by itself without
      affecting the geometry at all. It prints the object stats when activated
      in the pad."
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6114 27541ba8-7e3a-0410-8455-c3a389f83636
      69e37213
  20. Feb 11, 2003
  21. Feb 10, 2003
  22. Feb 07, 2003
    • Rene Brun's avatar
      New version from Andrei and Mihaela: · d0484b81
      Rene Brun authored
       - several implementations of method Safety for shapes
       - few bug fixes in safety computation (phi segmented shapes)
       - volumes have now an unique ID that you can get with GetNumber()
       - Mihaela implemented an overlap checker that can be called either for
      all geometry :
          TGeoManager::CheckOverlaps(Double_t ovlp=0.1) or just for a given
      volume. OVLP is the lower overlapping limit. The checker looks for the
      following errors in the geometry definition :
        1 - nodes extruding their mother - can be visualised with
      TGeoManager::DrawExtrusion(char *mother, char *node) which draws mother
      in blue and extruding daughter in red
        2 - ONLY brothers overlapping to each other - can be  visualized with
      TGeoManager::DrawOverlap(char *volume, char *node1, char *node2) - node1
      will appear in red and node2 in blue.
        These methods can be called only after CheckOverlaps() that prints the
      list of overlaps. They are all in the context menu of both TGeoVolume
      and TGeoManager.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6068 27541ba8-7e3a-0410-8455-c3a389f83636
      d0484b81
  23. Jan 31, 2003
    • Rene Brun's avatar
      New version of the geometry package from Andrei: · 2618ca16
      Rene Brun authored
       - new algorithms for computing safety for tubes, cones, pcon
       - TGeoChecker::CheckPoint() modified so that a "safety ball" is drawn
      when one uses it. - global tracking modified such that the distances for most of the
      shapes (except pgon and arb8) are computed only if the safety to these
      shapes is smaller than a refference value.
      
       There is one limitation in case global safety is computed : the value
      fSafety hold by TGeoManager does not represent the real safety, but the
      minimum safety value among those calculated for the checked nodes.
      Therefore if some node is "backwards" w.r.t the current direction, it
      will be ignored in safety computation. I do not know if this affects
      tracking, but I guess not. In short words, the global safety depends on
      the current direction - for instance after just exiting a volume it
      might happen that safety is not a very small value.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@6038 27541ba8-7e3a-0410-8455-c3a389f83636
      2618ca16
  24. Jan 14, 2003
  25. Jan 06, 2003
  26. Dec 11, 2002
    • Rene Brun's avatar
      From Andrei: · 4ed4c3be
      Rene Brun authored
      attached the last version, with bug fixes in tracking. Now you can do
      lego plots for everything in alice. It does not do extra steps (except
      very seldom in ITS in som very thin tubes - 1 extra step to cross). Much
      more stable. I temporarly disabled TGeoVolume::CheckGeometry from the
      context menu of volumes since it seems to have a bug that I need to fix.
       Much better version in computing distances.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@5798 27541ba8-7e3a-0410-8455-c3a389f83636
      4ed4c3be
  27. Dec 10, 2002
  28. Dec 06, 2002
    • Rene Brun's avatar
      From Andrei: · 59efd9d4
      Rene Brun authored
      New patch for shape algorithms, including :
      - bug fixes in TGeoPgon::DistToIn()
      - new algorithm by Mihaela for computing distances to a sphere (it was
      missing).
      
      So, now all algorithms per shape for computing distances should be "in
      shape", at least as far as we have tested. Clearly some problems still
      remain with the global algorithm including MANY's. At least now the lego
      plot seem to work for the rootgeom example (shooting in /TOP/Replica
      produces a nice plot). Obviously we will eventually find other bugs, but
      the version as it is now seems to work reasonably good.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@5758 27541ba8-7e3a-0410-8455-c3a389f83636
      59efd9d4
  29. Dec 03, 2002
  30. Nov 28, 2002
  31. Nov 20, 2002
    • Rene Brun's avatar
      Following improvements by Andrei Gheata: · 5f223159
      Rene Brun authored
      1. gpad - containing a modified src/TPad.cxx (notification to TView
      class when resizing the pad and having perspective view)
      2. base - containing modified TView.h/.cxx
      3. geom, geompainter - modifications to geometry classes (perspective
      view support + some bug fixes in shape algorithms)
      
       New features :
       - First implementation of TGeoChecker::CheckGeometry() by Mihaela : it
      can be called from the volume context menu and for the time being just
      draws the boundary intersections not matching on the way back and forth
      (no histogram generated). Anyway, we discovered by using it that we have
      to correct several bugs in the shapes DistToIn/Out algorithms ... :-(
      - Perspective view fully implemented. Activated with TView(11) - this is
      the default now for the new geometry classes. For all other views
      (instantiated usually with TView(1)) one can switch parralel/perspective
      from TView context menu.
      - Navigation inside geometries based on perspective view : just draw
      some geometry, then double-click on volumes in the pad - you will get a
      nice grab-focus effect (specially if the number of volumes on screen is
      relatively small)
      - navigation keys : zoom in/out, move left/right/up/down exactly like in x3d
      - resizing of pad and drawing of axes in TView supported - aspect ratio
      always kept.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@5621 27541ba8-7e3a-0410-8455-c3a389f83636
      5f223159
  32. Oct 22, 2002
Loading