[root] / trunk / geom / geom / src / TGeoNode.cxx Repository:
ViewVC logotype

Log of /trunk/geom/geom/src/TGeoNode.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 48928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 25 15:45:11 2013 UTC (22 months ago) by agheata
File length: 37128 byte(s)
Diff to previous 47228
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.

Revision 47228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 13 17:09:38 2012 UTC (2 years, 2 months ago) by agheata
File length: 37122 byte(s)
Diff to previous 44507
Added possibility to prevent known overlaps produced by misalignment by assignig priority to one of the candidates. This is not using the error prone AddNodeOverlap method, but composite shapes. One has to create the unprioritized shape as the subtraction of the original one and the shape of the node to prioritize, then position this composite shape colume with identity matrix. The prioritized volume should be added as node using the same local matrix as the one used in the subtraction operation. The matrix itself has to be declared shared via SetShared() method. Added few parameters to the RandomRays method.

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 37060 byte(s)
Diff to previous 42982
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 42982 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 13 10:21:23 2012 UTC (2 years, 11 months ago) by agheata
File length: 37005 byte(s)
Diff to previous 41341
Added support structure TGeoStateInfo to communicate stateful navigation data internally. Fully removed locking from TGeoManager and TGeoVoxelFinder.

Revision 41341 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 11 14:58:29 2011 UTC (3 years, 3 months ago) by agheata
File length: 36853 byte(s)
Diff to previous 36535
Adding thread id as parameter to methods of TGeoVoxelFinder to avoid passing through the serial TGeoManager::ThreadId. This recovers quite good the scalability with the number of threads

Revision 36535 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 14:41:54 2010 UTC (4 years, 2 months ago) by agheata
File length: 36850 byte(s)
Diff to previous 35698
Changed Form() to TString::Format() everywhere

Revision 35698 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 24 07:37:08 2010 UTC (4 years, 4 months ago) by agheata
File length: 36839 byte(s)
Diff to previous 31454
Replaced sprintf with TString manip.

Revision 31454 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 30 07:39:14 2009 UTC (5 years, 1 month ago) by brun
File length: 36832 byte(s)
Diff to previous 25858
From Andrei:
new class TGeoIterPlugin. 
This is an ABC for user plugins that need to call some arbitrary code during 
geometry hierarchy iteration. The first use case (requested in Savannah #57591)
is to dynamically change the color of volumes in selected paths, but not the 
color of the same volume in other paths. This use case is already implemented 
in TGeoPainter and an example of usage is given in the tutorials files 
$ROOTSYS/tutorials/geom/iterplugin.cxx and runplugin.C.

Revision 25858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 17 16:32:05 2008 UTC (6 years, 3 months ago) by brun
File length: 35770 byte(s)
Diff to previous 24870
From Andrei:
a small fix for the progress bar during overlap checking

Revision 24870 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 17 16:30:58 2008 UTC (6 years, 6 months ago) by brun
File length: 36001 byte(s)
Diff to previous 24419
From Andrei:
new development related to overlap checking. This generates not only the shape mesh vertices but some 1000 points on the shape outline/surface. This is implemented for all important shapes except TGeoPcon (which works using the old method).

Revision 24419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 13:40:38 2008 UTC (6 years, 7 months ago) by brun
File length: 35969 byte(s)
Diff to previous 23811
From Andrei:
a patch that unifies the overlap checking methods by sampling via the standard. There is also a new method introduced to sample points on shapes surface - implemented only for TGeoBBox for the  moment.

Revision 23811 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 13 07:41:30 2008 UTC (6 years, 8 months ago) by brun
File length: 37488 byte(s)
Diff to previous 23809
Fix a compilation warning when compiling with gcc option -Wshadow

Revision 23809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 13 07:34:38 2008 UTC (6 years, 8 months ago) by brun
File length: 37494 byte(s)
Diff to previous 22923
From Andrei:
- adding a method AddTrack(TVirtualGeoTrack *) to TGeoManager.
- TGeoBoolNode::Safety(point, in) returns now 0. in case the tracking point is not matching the input <in> condition - caused track propagation outside geometry limits with g4root
- Improvements in checking overlaps by sampling for TGeoNode - using now voxels.

Revision 22923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 1 12:34:14 2008 UTC (6 years, 9 months ago) by rdm
File length: 36681 byte(s)
Diff to previous 21497
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 21497 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 16:28:00 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 36681 byte(s)
Diff to previous 21494
From Andrei:
Implement a custom TGeoVoxelFinder::Streamer to read the old versions of the class.
lso removed 3 obsolete voxels classes that were present in TGeoVoxelFinder.h/.cxx. Old geometry files with voxels should be readable now (tested) and produce consistent results. For me stressGeometry works.

Revision 21494 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 15:50:40 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 36640 byte(s)
Diff to previous 21301
Update to the class docs and index.txt files.

Revision 21301 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 10 16:21:50 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 36611 byte(s)
Diff to previous 20882
From Andrei:
there was an implicit dependency of TGeoMatrix by TGeoManager.h via TGeoNavigator.h->TGeoCache.h + few other bad dependencies like: TGeoMatrix included by TGeoNode.h via TGeoPatternFinder.h  Hmm... I had to cleanup few inlines, introduce a transient matrix in TGeoNavigator (to recover the lost inlining speed) + add several #include "TGeoMatrix.h" allover where this was included and used via TGeoManager.h

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 35910 byte(s)
Diff to previous 20629
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20629 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 2 19:34:37 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 35910 byte(s)
Diff to previous 20416
From Gerri:
Fix comp[iler warnings on Linux.

Revision 20416 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 19 14:56:15 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 35903 byte(s)
Diff to previous 19826
From Andrei:
some modifications to the progress bar and included it when calling gGeoManager->CheckOverlaps()

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34472 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34523 byte(s)
Diff to previous 19617
remove :$ from tag line

Revision 19617 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 13 16:00:32 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34533 byte(s)
Diff to previous 18553
From Andrei:
Patch for several complex shapes where it is faster to check first if the bounding box is crossed when coming from outside.

Revision 18553 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 23 08:58:53 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34069 byte(s)
Diff to previous 17306
From Andrei:
- new method  TGeoShape::GetMeshNumbers() that allows getting the number of points, segments and polygons in the mesh of any shape - to be used by an upgrade of the overlap checker
- addition in the overlap checker to use the above info
- modifications in TGeoManager for improving performance for tracking geantinos with G4root interface

Revision 17306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 12 16:03:17 2007 UTC (8 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34035 byte(s)
Diff to previous 17063
   TMath::Abs, TMath::Min, TMath::Max, TMath::Sign, TMath::Range
These functions are unfortunately not defined in a standard way in std::

This include is referenced by a new version of TMath.h.
As a result, TMath.h is back compatible with the previous version.

TMathBase.h is used in place of TMath.h in all the classes
that will go into the future miniCore library.
TMath.h and the TMath implementation will go into a new math sub-directory.

TString.h uses TMathBase.h instead of TMath.h.
As a result, it was necessary to include "TMath.h" in some classes
assuming that TMath was included via TString and using other functions
than the ones defined in TMathBase.h
 ----------------------------------------------------------------------

Revision 17063 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 6 15:09:11 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34016 byte(s)
Diff to previous 16573
From Andrei:
a patch that implements the method:
TGeoNode *TGeoVolume::ReplaceNode(TGeoNode *nodeorig,
                   TGeoShape *newshape=0,
                   TGeoMatrix *newpos=0,
                   TGeoMedium *newmed=0)

The method allows replacing an existing daughter of a volume with another one. Providing only the node to be replaced will just create a new volume for the node but having exactly the same parameters as the old one. This helps in case of divisions for decoupling a node from the logical hierarchy so getting new content/properties.

For non divided volumes, one can change the shape and/or the position of the daughter.

Revision 16573 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 20 08:38:43 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 33961 byte(s)
Diff to previous 15742
From Andrei:
a big chunk of modifications that mainly allow converting a geometry
containing reflection matrices into a reflection-free one.
This is done via a mechanism implemented in TGeoManager/TGeoVolume/TGeoScaledShape
classes which can be invoked using:
TGeoManager::ConvertReflections() method once the geometry is closed.
This is required for normal GEANT4 operation and is to be used only
in G4 navigation context.

Besides that, I made some changes which allow now controlling visibility
of nodes/volumes directly from the TBrowser (check-boxes).
This was not really working before.

Revision 15742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 9 05:27:55 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34077 byte(s)
Diff to previous 15672
From Eddy:
Fix many typos in comments

Revision 15672 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34067 byte(s)
Diff to previous 15316
from Axel:
Change the signature of SavePrimitive from

  void SavePrimitive(ofstream &out, Option_t *option);
to
  void SavePrimitive(ostream &out, Option_t *option = "");

With this change one can do, eg
   myhist.SavePrimitive(std::cout);

WARNING: do rm -f tree/src/*.o

Revision 15316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 2 16:00:43 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34068 byte(s)
Diff to previous 15172
From Andrei:
a patch fixing the registration of TGeoManager in the browser  . There is also a fix in TGeoNode::Browse

Revision 15172 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 17:11:54 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 34099 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 33987 byte(s)
Diff to previous 14259
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 14259 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 14 15:16:35 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 32834 byte(s)
Diff to previous 14093
From Andrei:
a modification and a fix:

- Changed behavior of TGeoVolume::Browse() and TGeoNode::Browse(). The title of the
volume may be used to store user info, so the browser will change it ONLY if not
touched by user. Additional info provided for volumes: shape type, type of volume,
division type

- Fix for a problem found by Christian for nested assemblies: if an assembly for which
the content was not defined yet was added as daughter of another assembly, this
resulted in a wrong bounding box. Now even if this is the case, it is automatically
corrected by the loop TGeoManager::CloseGeometry() -> TGeoVolume::Voxelize(). The
problem did not seem to affect current ALICE geometry.

Revision 14093 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 23 13:23:08 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 32581 byte(s)
Diff to previous 14006
From Andrei:
- simplification of TGeoOverlap class: derived classes TGeoNodeOverlap and
TGeoExtrusion removed
- The overlap checker perform the check also for assembly candidates
- Improvements in TGeoIterator class
- Minor fix in TGeoVoxelFinder class

Revision 14006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 8 11:03:06 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 29953 byte(s)
Diff to previous 13960
From Andrei:
 implementation of a geometry iterator (TGeoIterator) with a
detail description in the source file (TGeoNode.cxx). Multi-purpose usage,
but it is intended for being able to check overlaps between assemblies and
also to decouple TGeoPainter from TGeoManager.

Revision 13960 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 31 14:02:36 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 22906 byte(s)
Diff to previous 13864
From Andrei:
1. TGeoManager::SetNodeSelectable(flag); - allows user to make nodes selected in the
pad rather that volumes(default)
2. TGeoManager::ReplaceVolume(TGeoVolume *vorig, TGeoVolume *vnew); - allows
replacement of all occurances of VORIG with VNEW in the geometry tree. VORIG is not
removed from the list of volumes, but all nodes referencing it as their volume or
mother will reference instead VNEW.
3. static TGeoVolumeAssembly::MakeAssemblyFromVolume(TGeoVolume *vorig); - creates a
sort of clone of a normal volume (same daughters inside), but this will be an
assembly. This method can be used togeather with ReplaceVolume() to change some
virtual conainers in a closed geometry with assemblies.
4. TGeoVolume::RemoveNode(TGeoNode *node) - will safely remove a daughter node of a
volume, even if the geometry is closed. Geometry is valid for navigation afterwards.

Revision 13864 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 19 11:23:08 2006 UTC (9 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 21666 byte(s)
Diff to previous 13373
From Andrei:
- new TGeoNode::CheckOverlaps() allows checking overlaps for a whole geometry branch.
- fix in the paint mechanism when raytracing for a problem mentioned by Ivana (when
raytracing a volume without having a pad created it did not work)

Revision 13373 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 28 12:55:35 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19895 byte(s)
Diff to previous 13297
From Andrei:
some optimizations for creating physical nodes:
- re-voxelization no more done afer each Align() call - instead a signal is sent to
the existing voxels; the first navigation query to this voxel will rebuild it.
- volumes are aware if they were positioned more than once (replicated). If this is
not the case the volume is not cloned anymore for alignment.

Revision 13297 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 21 09:31:47 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19818 byte(s)
Diff to previous 13282
From Andrei:
a patch fixing:
- memory leak found by Federico
- last code rule violations

Revision 13282 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 18 16:07:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19954 byte(s)
Diff to previous 12592
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

Revision 12592 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 2 13:54:38 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19630 byte(s)
Diff to previous 11473
From Andrei:
a rather big patch containing a fix for the sphere mesh from Mihaela
as well as several other small fixes related to navigation + new methods. Before
doing it I included your code checker-related changes.

Mihaela:
- all sphere types (according rmin,rmax,theta1,theta2,phi1,phi2) have now the
minimum needed set of points/segments/polygons. For instance, the spheres with
rmin=0 does not have anymore the mesh for the inner sphere. Also, if there is no
phi segmentation, you do not have anymore the polygons related to the phi
slices.
- ongoing work for the same for cones (not in this patch)

Andrei:
- memory leak in TGeoPhysicalNode::Align() (hopefully) fixed. Original (ideal)
matrix now kept.
- several fixes in TGeoManager::Safety, TGeoManager::SearchNode for properly
checking all extrusions types MANY->ONLY or ONLY->MANY for all current branch.
- fix for overlapping flag bookkeeping when moving up from a divided node. The
number of MANY's in the current branch is now kept as data member of
TGeoManager. Changes in TGeoCache according to this
- Prototype for TGeoManager::FindNextDaughterBoundary() changed to return
crossed daughter index
- new method TGeoManager::FindNextBoundaryAndStep() that in addition to
computing the distance to next boundary propagates current point and finds the
new location. Changes in the raytracing algorithm to use this - seem to work
properly, but I still have to double-check some geometries.

Revision 11473 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 1 13:53:18 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19649 byte(s)
Diff to previous 11272
First attempt to introduce new Timur's code supporting composite shapes.
This code must still be validated on non Linux platforms.

Revision 11272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19653 byte(s)
Diff to previous 11076
From Richard Maunder:

Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:

i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.

Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.

All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.

TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.

Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).

For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.

Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.

3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).

NOTE:

1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.

2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.

Revision 11076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 9 13:30:27 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19649 byte(s)
Diff to previous 7929
From Mihaela Gheata;

- divisions supporting SavePrimitive
- main SavePrimitive loop implemented at level of TGeoVolume
   - user interface: TGeoVolume::SaveAs(const char *filename); having *MENU*
   - can be called from the browser for any volume:
     the resulting file will have a geometry starting with the selected
     volume as TOP.
   - should work with TPad::SavePrimitive(ofstream out, Option_t *option)
   - not tested however

From Andrei:
I did some changes in TGeoCombiTrans to support a shared rotation matrix.
I also fixed a bug in TGeoTube::GetMakeRuntimeShape (and tube segment)
that produced wrong shapes in case one of the initial parameters was negative.

Revision 7929 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 18 12:31:55 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19655 byte(s)
Diff to previous 7400
Speed improvements in many functions. Speed is about 25% in case of CMS ECAL

Revision 7400 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 6 15:15:01 2003 UTC (11 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19330 byte(s)
Diff to previous 7172
From Andrei:

bug fixes :
 -copy number not set in TGeoNode
 -iteration on the wrong collection in TGeoManager

Revision 7172 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 29 09:55:29 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19275 byte(s)
Diff to previous 6725
New considerable speed-up of the ray tracing algorithm.
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)

Revision 6725 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 17 09:13:56 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19315 byte(s)
Diff to previous 5993
New version of the geometry package from Andrei/Mihaela

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

Revision 5993 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 27 13:16:26 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 18089 byte(s)
Diff to previous 5972
Update to the geometry package to support copy numbers in TGeoNode.

Revision 5972 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 23 14:25:37 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 18015 byte(s)
Diff to previous 5946
From Andrei:
- all shape classes : changed the prototype for Safety() method.
Eliminated validity checking in Divide() methods that are now globally
handled by TGeoVolume::Divide(). Added methods
TGeoShape::GetAxisName/Range(Int_t iaxis) which are used by the new
global division mechanism.
- safety for TGeoTrap now computed (pcon, pgon not yet)
- TGeoVolume : eliminated unnecesarry Divide() prototypes. The new
Divide() prototype is backwards compatible (old macros works with it)
but supports an option in order to allow all G3 division types. More
description in TGeoVolume::Divide().
- TGeoManager : Only one prototype for G3-like divisions left,
supporting all G3 options and also being able to assign to the division
volumes a medium different than the one of the divided volume. New
FindNode(x,y,z) implemented. New IsSameLocation(x,y,z) with the same
functionality as GINVOL.

Revision 5946 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 20 14:35:48 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 18006 byte(s)
Diff to previous 5850
Several updates to the geometry pacjage by Andrei:
TGeoManager :
- added getter for current direction;
- dummy cache option by default
TGeoNodeOffset
- set the name for parametrized divisions; minor fix in allocating the
space for the name (safer now)
TGeoPatternFinder :
- the getter for the matrix of a divided node will return the updated
matrix (before one had to do TGeoNodeOffset::cd() first, now
TGeoNodeOffset::GetMatrix() does this in one go)
Shape classes :
- protection for wrong division range slightly modified

Revision 5850 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 7 09:48:42 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 17838 byte(s)
Diff to previous 5848
Use forward declarations instead of includes.

Revision 5848 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 6 17:05:44 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 17817 byte(s)
Diff to previous 5723
many changes in the geometry package.
Addition of the new class TGeoMedium

Revision 5723 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 3 16:01:41 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 17761 byte(s)
Diff to previous 5443
New version of the geometry package from Andrei:
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.

Revision 5443 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 21 15:21:13 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 17756 byte(s)
Diff to previous 5419
Upgrade of the geom classes by Andrei:
- improvements in the drawing mechanism (nodes can also be made
invisible, having higher priority than volumes;
- possibility of simple phi cut in TGeoManager::SetPhiRange(phimin, phimax)
  - by default the phi range is (0, 360) - no cut performed
 - setting different values for phimin, phimax will make invisible the
nodes having the origin in this range;

- documentation updated for TGeoArb8 class (picture in /gif directory)

Revision 5419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 11 16:41:54 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16954 byte(s)
Diff to previous 5406
From Andrei,
  - bug fix in TGeoPgon for finding next boundary
 - bug fix in retrieving saved paths (affected "Where am I?" for MANY
geometries
  - support for tracking algorithm with MANY's
  - improvements in raytracing and lego plots.

Revision 5406 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 8 16:17:49 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16945 byte(s)
Diff to previous 5367
new version of the geometry package from Andrei:
- bug fix in the destructor of TGeoPatternCylPhi
- several modifications in the default constructors of shapes.
- several corrections and "v" feature added to I/O
- removed base class for finders

 Now you can save voxels and retreive them with no problem. You can use :
  gGeoManager->Export("filename", "", "v") to do that. The size of files
without/with voxelization are :
    Exp           no voxels saved             voxels saved
ALICE            404227                        719703
CMS               550440                       1275590
ATLAS         1858198                      3335166

Be careful, the files TGeoFinder.h and TGeoFinder.cxx have been removed.
Suggest doing:

rm geom/src/*.o geom/src/G__*

Revision 5367 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 30 20:44:36 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16969 byte(s)
Diff to previous 5354
A few changes in several classes in order to restore a TGeoManager.

Implement two new functions in TGeoManager
Int_t TGeoManager::Export(const char *filename, const char *name, Option_t *option)
{
   // Export this geometry on filename with a key=name
   // By default the geometry is saved without the voxelisation info.
   // Use option 'v" to save the voxelisation info.

TGeoManager *TGeoManager::Import(const char *filename, const char *name, Option_t *option)
{
   //static function
   //Import in memory from filename the geometry with key=name.
   //if name="" (default), the first TGeoManager object in the file is returned.
   //Note that this function deletes the current gGeoManager (if one)
   //before importing the new object.

Revision 5354 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 27 16:16:06 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16963 byte(s)
Diff to previous 4956
New version of the geometry package by Andrea & Mihaela Gheata
New features:
 -I/O for all geometry classes. For example, to save/restore a geometry structure,
   TFile f("mygeom.root","recreate");
   gGeoManager->Write("mygeom");
  and to read it back;
   TFile f("mygeom.root");
   f.Get("myGeom");
   gGeoManager->CloseGeometry();

 -Composite shapes fully implemented (no visualisation yet).
  A composite shape is built out of basic shapes and transformations via
  a simple formula mechanism, eg assuming a TGeoTube "tub1" and a TGeoMatrix "r1",
  we can build a composite shape with:
    TGeoCompositeShape *comp = new TGeoCompositeShape("comp",formula); where
    char* formula="tub1+tub1:r1"
  This will create the union of a tube with itself rotated.
  The operators recognized by the geometry formula parser are "+","-","*"
  for union, subtraction and intersection respectively. The colon ":" can be
  used to specify a transformation for a given component.

 -The voxelisation in cylindrical coordinates added as an optional optimisation
  algorithm.

 -Some bug fixes and several improvements in the tracking-related algorithms.

Revision 4956 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 17 13:27:59 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16442 byte(s)
Diff to previous 4918
New version of the geometry package from Andrei. Many comments changed.

Revision 4918 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 15 15:32:25 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 16554 byte(s)
Diff to previous 4874
New version of the geometry package by Andrei.
All graphics moved to geompainter (hopefully)

Revision 4874 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 10 19:24:17 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 18633 byte(s)
Diff to previous 4867
A new iteration to port the geometry package on different systems.
Progress towards ROOT naming and style conventions
Add constness in most classes (work not yet completed).

Revision 4867 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 22:52:16 2002 UTC (12 years, 6 months ago) by rdm
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19406 byte(s)
Diff to previous 4848
use Riosfwd.h in header instead of "fstream.h" and "iostream.h" and use
Riostream.h instead of "fstream.h" and "iostream.h" in source. Hope this
fixes Robert Hatcher's problem.

Revision 4848 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 14:33:25 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19528 byte(s)
Diff to previous 4841
Remove unused variables or statements

Revision 4841 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Jul 9 13:08:12 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoNode.cxx
File length: 19548 byte(s)
Add new geometry package

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9