Log of /trunk/geom/geom/src/TGeoNode.cxx
Parent Directory
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.