- Feb 09, 2004
-
-
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
-
- Dec 11, 2003
-
-
Rene Brun authored
kBig removed, accessible via inline : TGeoShape::Big() kDegRad, kRadDeg changed everywhere with TMath::RadToDeg(), TMath::DegToRad() git-svn-id: http://root.cern.ch/svn/root/trunk@7724 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 28, 2003
-
-
Rene Brun authored
several fixes in safety algorithms git-svn-id: http://root.cern.ch/svn/root/trunk@7671 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 14, 2003
-
-
Rene Brun authored
Protection in SetColors in case the user application does not define a TApplication. git-svn-id: http://root.cern.ch/svn/root/trunk@7595 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 11, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@7570 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 04, 2003
-
-
Rene Brun authored
- safety implemented in TGeoCompositeShape following the general scheme - memory usage optimization in TGeoPainter git-svn-id: http://root.cern.ch/svn/root/trunk@7212 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 29, 2003
-
-
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
-
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
-
- Aug 28, 2003
-
-
Rene Brun authored
loop on all array elements. This gives a factor 10 when drawing Alice in ray-tracing mode. Yet a better solution would be to build a sorted table of pointers to visible volumes followed by a binary search. git-svn-id: http://root.cern.ch/svn/root/trunk@7168 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 22, 2003
-
-
Rene Brun authored
In TGeoPainter::ShapeDistancetoPrimitive fix to avoid warnings with gcc3.4 when calling TMath::Sqrt. explicit cast is required. git-svn-id: http://root.cern.ch/svn/root/trunk@7141 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 21, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@7123 27541ba8-7e3a-0410-8455-c3a389f83636
-
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
-
- Jul 31, 2003
-
-
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
-
- Jul 07, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6850 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jul 05, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6834 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 17, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6732 27541ba8-7e3a-0410-8455-c3a389f83636
-
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
-
- May 07, 2003
-
-
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
-
- Feb 18, 2003
-
-
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
-
- Feb 17, 2003
-
-
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
-
- Feb 13, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6122 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 12, 2003
-
-
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
-
- Feb 11, 2003
-
-
Rene Brun authored
add method TGeoManager::PrintOverlaps fix compilation warnings git-svn-id: http://root.cern.ch/svn/root/trunk@6085 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 10, 2003
-
-
Rene Brun authored
- new files TGeoOverlap.h/cxx in geompainter directory. Contains one base class and 2 derived, describing overlaps. The CheckOverlaps() methods in TGeoManager and TGeoVolume fills a list of these objects which is held by TGeoManager class and appears in the browser as "Illegal overlaps". The elements in this list are ordered according the overlapping distance, big comes first and extrusions before node overlaps. Double-clicking triggers drawing. Points in the overlapping/extruding region are paint in red, while the 2 candidates in bleu/green. The list of overlaps is dynamic and changes whenever a check is done per volume. - volumes with invalid shapes post a warning (see ATLAS) git-svn-id: http://root.cern.ch/svn/root/trunk@6083 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6080 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6079 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 07, 2003
-
-
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
-
- Jan 31, 2003
-
-
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
-
- Jan 14, 2003
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5913 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 06, 2003
-
-
Rene Brun authored
Addition of the new class TGeoMedium git-svn-id: http://root.cern.ch/svn/root/trunk@5848 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 11, 2002
-
-
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
-
- Dec 10, 2002
-
-
Rene Brun authored
solved some extra bugs so that all lego plots in non-MANY volumes looks fine. git-svn-id: http://root.cern.ch/svn/root/trunk@5788 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5782 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5780 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 06, 2002
-
-
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
-
- Dec 03, 2002
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5724 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
Fixes to compile with no warnings with the option -ansi -pedantic It also includes bug fixes for Trd1,2, cone and pcon DistToIn/Out algorithms. git-svn-id: http://root.cern.ch/svn/root/trunk@5723 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 28, 2002
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5690 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Nov 20, 2002
-
-
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
-
- Oct 22, 2002
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@5454 27541ba8-7e3a-0410-8455-c3a389f83636
-