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

Log of /trunk/geom/geom/src/TGeoVoxelFinder.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: 80320 byte(s)
Diff to previous 43550
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.

Revision 43550 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 29 12:15:50 2012 UTC (2 years, 9 months ago) by agheata
File length: 80278 byte(s)
Diff to previous 42982
Fixes for out of bounds violations

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: 80260 byte(s)
Diff to previous 42459
Added support structure TGeoStateInfo to communicate stateful navigation data internally. Fully removed locking from TGeoManager and TGeoVoxelFinder.

Revision 42459 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 10 17:02:27 2011 UTC (3 years, 1 month ago) by agheata
File length: 81780 byte(s)
Diff to previous 42321
Restored old style locking since the new one by Stefan was not really safe

Revision 42321 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 30 12:46:10 2011 UTC (3 years, 1 month ago) by agheata
File length: 81959 byte(s)
Diff to previous 41959
Avoid locking if the thread data was already alocated for all threads. (S. Lohn)

Revision 41959 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 14 10:48:45 2011 UTC (3 years, 2 months ago) by agheata
File length: 81834 byte(s)
Diff to previous 41956
Lock methods ClearThreadData

Revision 41956 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 14 08:19:12 2011 UTC (3 years, 2 months ago) by agheata
File length: 81792 byte(s)
Diff to previous 41891
Fix sequence: td = GetThreadData followed by Voxelize which invalidates the thread data pointed by td

Revision 41891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 10 22:46:31 2011 UTC (3 years, 2 months ago) by pcanal
File length: 81620 byte(s)
Diff to previous 41342
Remove all assigned but unused variable discovered by g++ 4.6.1 (including one completely nop function)

Revision 41342 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 11 15:17:46 2011 UTC (3 years, 3 months ago) by agheata
File length: 81575 byte(s)
Diff to previous 41341
Added a lock on the part creating voxels thread data

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: 81527 byte(s)
Diff to previous 41180
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 41180 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 08:48:58 2011 UTC (3 years, 3 months ago) by agheata
File length: 81167 byte(s)
Diff to previous 41157
Thread safe Boolean nodes.

Revision 41157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 5 13:52:56 2011 UTC (3 years, 3 months ago) by agheata
File length: 81145 byte(s)
Diff to previous 41072
Backward-compatible thread safe version of the voxel finder

Revision 41072 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 30 14:30:45 2011 UTC (3 years, 3 months ago) by agheata
File length: 78748 byte(s)
Diff to previous 35702
Avoid a crash when having duplicated nodes

Revision 35702 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 24 09:10:38 2010 UTC (4 years, 4 months ago) by agheata
File length: 78580 byte(s)
Diff to previous 35047
Another set of Dangerous_coding Coverity fixes

Revision 35047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 27 14:38:41 2010 UTC (4 years, 4 months ago) by agheata
File length: 78519 byte(s)
Diff to previous 35004
Bounding box for assemblies is now computed dynamically when needed instead of after every AddNode operation.
The patch reduces the number of calls to TGeoShapeAssembly::ComputeBBox from 4.8 million to 12700 (!) in ALICE and gains 40% speedup in initialization time (~30sec).
Thanks to Matevz for spotting this. Also added Matevz's code for improving access by index to PNEntries.

Revision 35004 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 25 11:47:28 2010 UTC (4 years, 5 months ago) by agheata
File length: 78182 byte(s)
Diff to previous 34997
Fix a leak (coverity #16090)

Revision 34997 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 25 11:06:44 2010 UTC (4 years, 5 months ago) by agheata
File length: 78098 byte(s)
Diff to previous 34896
Replaced return with Fatal in constructor (coverity #21366)

Revision 34896 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 15:46:01 2010 UTC (4 years, 5 months ago) by agheata
File length: 78053 byte(s)
Diff to previous 27731
Fixed uninitialized variables, coverity #21476

Revision 27731 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 9 17:40:56 2009 UTC (5 years, 10 months ago) by brun
File length: 77753 byte(s)
Diff to previous 27624
From Andrei:
- Removed casting away constness in headers, and removed == and != between doubles in all geom code (Philippe's suggestion)
- Info messages suppressed now by the static TGeoManager::SetVerboseLevel(0). We should probably call this at the beginning of stressGeometry.cxx
- Fine tune in TGeoIntersection::DistFromInside() that solves inner boundary crossings in case the starting point is very close to boundary
- TGeoManager::FindInCluster() gives now priority (when selecting between MANY candidates) to the node that was proposed by FindNextBoundary()

Revision 27624 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 26 14:03:09 2009 UTC (5 years, 10 months ago) by brun
File length: 77657 byte(s)
Diff to previous 27455
From Andrei:
fix for a rare crash due to voxelization.
a fine tune in the TGeoTorus::DistFromOutside

Revision 27455 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 16 11:22:21 2009 UTC (5 years, 11 months ago) by brun
File length: 77645 byte(s)
Diff to previous 22923
From Andrei:
- Protection added in TGeoArb8::DistFromInside() which could wrongly return the distance to one of the Z endcaps when starting from lateral boundaries. Removed unnecesarry intermediat truncations in computations of distance to inside/outside
- TGeoUnion::DistFromInside() fixed to give the full distance to outside rather than the one from the current component.

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: 77618 byte(s)
Diff to previous 22633
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 22633 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 13 07:51:43 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 77618 byte(s)
Diff to previous 22612
Fix coding conventions.

Revision 22612 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 12 09:31:32 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 77606 byte(s)
Diff to previous 22587
Fix coding conventions.

Revision 22587 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 11 10:21:53 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 77238 byte(s)
Diff to previous 21497
From Andrei Gheata and Pter Hristov:
some protections in voxels in case of propagation in wrong geometries.

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/TGeoVoxelFinder.cxx
File length: 75104 byte(s)
Diff to previous 20882
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 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/TGeoVoxelFinder.cxx
File length: 130753 byte(s)
Diff to previous 20858
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 20858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 17 15:50:59 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 130753 byte(s)
Diff to previous 19826
From Andrei
a small precision fix for a problem of voxelization in case of misaligned volumes.

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/TGeoVoxelFinder.cxx
File length: 130747 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/TGeoVoxelFinder.cxx
File length: 130805 byte(s)
Diff to previous 19777
remove :$ from tag line

Revision 19777 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 10 14:28:49 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 130815 byte(s)
Diff to previous 17306
From Andrei:
a diff with a new class TGeoUniformVoxels that is supposed to increase navigation speed. For the moment it does not - there is still some work to be done - so it is not yet used. The patch contains also a fix for the problem of visualization of daughters of composites.

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/TGeoVoxelFinder.cxx
File length: 108638 byte(s)
Diff to previous 15742
   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 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/TGeoVoxelFinder.cxx
File length: 108619 byte(s)
Diff to previous 15172
From Eddy:
Fix many typos in comments

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/TGeoVoxelFinder.cxx
File length: 108614 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/TGeoVoxelFinder.cxx
File length: 108473 byte(s)
Diff to previous 14548
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 14548 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 5 09:36:06 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 106361 byte(s)
Diff to previous 14534
From Andrei:
I finally found and fixed the reason for the failure of stressGeom test macro when
compiling TGeo with different optimization levels. It was a precision problem in
TGeoPgon::SliceCrossingIn() method. I attached the patch, as well as a modified
stressAlice macro which in addition allows inspecting/debugging whatever differences
may appear w.r.to the used reference:

Revision 14534 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 3 16:19:32 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 106299 byte(s)
Diff to previous 14240
From Andrei:
- TGeoXtru shapes with polygone vertices defined counter-clockwise in XY
plane were not valid (Andreas) - fixed
- TGeoVolume::SaveAs() works now correctly even in case of assemblies
(Ivana) - fixed by Mihaela
- Some minor precision problems fixed in divisions
- minor fix in navigation in assemblies; assemblies defined as overlapping
now forbidden
- fix for automatic re-voxelization after un-alignment

Revision 14240 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 13 11:03:36 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 106160 byte(s)
Diff to previous 14093
From Andrei & Philippe
Fix a possible double delete problem in TGeoVoxelFinder

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/TGeoVoxelFinder.cxx
File length: 106143 byte(s)
Diff to previous 13986
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 13986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 3 17:07:34 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 106860 byte(s)
Diff to previous 13969
From Andrei:
fix for voxelization "on the fly" needed after alignment.

Revision 13969 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 1 13:30:37 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 107166 byte(s)
Diff to previous 13960
From Andrei:
a bug fix for a feature recently introduced: automatic revoxelization after
changing a closed geometry. This produced an infinite loop.

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/TGeoVoxelFinder.cxx
File length: 107340 byte(s)
Diff to previous 13373
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 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/TGeoVoxelFinder.cxx
File length: 107319 byte(s)
Diff to previous 13303
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 13303 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 21 13:52:50 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 105574 byte(s)
Diff to previous 13282
From Andrei:
a patch for the memory leaks found by Jan Musinski

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/TGeoVoxelFinder.cxx
File length: 105465 byte(s)
Diff to previous 13271
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

Revision 13271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 13:17:55 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 105480 byte(s)
Diff to previous 12629
From Andrei & Mihaela:
a diff containing the implementation of TGeoShape::Capacity. There are also
few other fixes (see below):

Mihaela:

New method:
  Double_t TGeoShape::Capacity() const;
implemented for all supported shapes. The algorithms provide analytical computation of
shape capacity in [cm^3]. All algorithms are accurate with 2 exceptions:
- TGeoCtub : the formula is just an approximation due to the difficulties to integrate
over the phi angle in the general case.
- TGeoCompositeShape: the computation of the capacity is done by sampling, with an
accuracy of 1%.

Based on this method I extended the implementation of TGeoVolume::Weight(Double_t
precision, Option_t *option). The default value of option is now "va" meaning: verbose
+ analytical. Removing "a" from the default option performs computation of volume
weight using the old algorithm of sampling. I have checked the 2 ways of computing the
weight one against the other and they are consistent.

Andrei:

- fixed a memory leak related to TGeoShapeAssembly ownership
- fixed some tracking problems for assemblies (when the top volume was an assembly)

Revision 12629 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 4 15:16:12 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 104933 byte(s)
Diff to previous 12025
Fix coding conventions violations.

Revision 12025 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 13 12:17:32 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 104927 byte(s)
Diff to previous 11709
From Andrei Gheata:

New developments related to assemblies. Assemblies were up to now just
a collection of nodes that could be handled together only during build
time(TGeoVolumeAssembly class).
When positioning an assembly as node in some container volume,
what happened was just that all components of the assembly were directly
put into this container (with the big disadvantage of creating a very
flat structure at the level ofthis container).

With the new implementation, an assembly volume has a shape
(TGeoShapeAssembly) that derives from TGeoShape and implements all
required navigation functionality. Practically, this behaves as the
union of all shapes positioned in the assembly, but it is not
represented as a composite shape and uses voxelization.
An assembly volume creates an hierarchical level and it geometrically
insulates the structure from the rest (as a normal volume). Physically,
a point that is INSIDE a TGeoShapeAssembly is always inside one of
the components, so a TGeoVolumeAssembly does not have a medium. Due to
the self containment of assemblies, they are very practical to use when
a container is hard to define due to possible overlaps during positioning.
For instance, it is very easy now to create honeycomb structures without
using the "MANY" (overlapping) feature that is quite expensive in
performance.

To create an assembly volume, one should:

TGeoVolume *vol = new TGeoVolumeAssembly(name);
vol->AddNode(vol1, 1, ...)
vol->AddNode(vol2, 1, ...)
....

The creation of the TGeoShapeAssembly for the assembly volume is
completely transparent to users. Its bounding box is recomputed after
the addition of a node. Users do not have to create TGeoShapeAssembly
themselves. One can even replace a container in his existing code
(if this needed to be positioned as overlapping) with an assembly, by
just replacing:

TGeoVolume *container = new TGeoVolume(name, shape, medium);
with:
TGeoVolume *container = new TGeoVolumeAssembly(name);

then replace:
some_mother_vol->AddNodeOverlap(container,1,...)
with:
some_mother_vol->AddNode(container,1,...)


One cam define assembly(assembly(assembly(...))) Usage of assemblies
does NOT imply any penalty in navigation performance in itself.
Assemblies can also be used to regroup existing flat structures of
nodes thus highly optimizing the performance.

Revision 11709 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 30 19:45:26 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 104692 byte(s)
Diff to previous 7952
Fix a compiler warning. array ndd[2] could be uninitialized.

Revision 7952 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 20 15:44:33 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 104684 byte(s)
Diff to previous 7929
Several improvements from Andrei GHeata.

additional option "i" (reset by default) to CloseGeometry() to have the
node id array built or not.

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/TGeoVoxelFinder.cxx
File length: 97502 byte(s)
Diff to previous 7724
Speed improvements in many functions. Speed is about 25% in case of CMS ECAL

Revision 7724 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 11 10:34:55 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 97508 byte(s)
Diff to previous 6144
From Andrei

  kBig removed, accessible via inline : TGeoShape::Big()
  kDegRad, kRadDeg changed everywhere with TMath::RadToDeg(),
TMath::DegToRad()

Revision 6144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 18 15:37:36 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 97519 byte(s)
Diff to previous 6136
From Andrei;
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().

Revision 6136 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 17 11:57:31 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 96921 byte(s)
Diff to previous 6019
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.

Revision 6019 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 30 14:05:45 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 96912 byte(s)
Diff to previous 5972
Remove unused variable "in"

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/TGeoVoxelFinder.cxx
File length: 96954 byte(s)
Diff to previous 5897
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 5897 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 13 16:01:06 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 97948 byte(s)
Diff to previous 5883
Fix by Andrei for warnings due to unused arguments

Revision 5883 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 12 14:49:32 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 97891 byte(s)
Diff to previous 5850
New version of TGeo classes from Andrei:
-TGeoManager - added G3-like prototypes for building geometry
-TGeoPatternFinder - added parameters of a division (fStart, fStep, fEnd)
-TGeoVolume - fix in TGeoVolumeMulti::AddVolume() to update existing
  nodes for all volumes in list
  several shapes supporting divisions - using TGeoVolumeMulti for divisions
-TGeoVoxelFinder - fixed dtor

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/TGeoVoxelFinder.cxx
File length: 97720 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/TGeoVoxelFinder.cxx
File length: 97729 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/TGeoVoxelFinder.cxx
File length: 84440 byte(s)
Diff to previous 5454
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 5454 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 22 07:43:12 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 84404 byte(s)
Diff to previous 5419
A few fixes to avoid compiler warnings

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/TGeoVoxelFinder.cxx
File length: 84400 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/TGeoVoxelFinder.cxx
File length: 84349 byte(s)
Diff to previous 5354
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 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/TGeoVoxelFinder.cxx
File length: 83655 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/TGeoVoxelFinder.cxx
File length: 47438 byte(s)
Diff to previous 4874
New version of the geometry package from Andrei. Many comments changed.

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/TGeoVoxelFinder.cxx
File length: 46897 byte(s)
Diff to previous 4848
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 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/TGeoVoxelFinder.cxx
File length: 46830 byte(s)
Diff to previous 4845
Remove unused variables or statements

Revision 4845 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 13:59:44 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 46866 byte(s)
Diff to previous 4844
fix portability problems

Revision 4844 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 13:50:26 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoVoxelFinder.cxx
File length: 46862 byte(s)
Diff to previous 4841
Fix portability problems.

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/TGeoVoxelFinder.cxx
File length: 46846 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