[root] / trunk / geom / geom / inc / TGeoVoxelFinder.h Repository:
ViewVC logotype

Log of /trunk/geom/geom/inc/TGeoVoxelFinder.h

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: 7496 byte(s)
Diff to previous 42982
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.

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: 7454 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: 8743 byte(s)
Diff to previous 41234
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 41234 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 15:48:52 2011 UTC (3 years, 3 months ago) by agheata
File length: 8502 byte(s)
Diff to previous 41157
Thread safe volume assemblies. Cleanup of thread data.

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: 8502 byte(s)
Diff to previous 22923
Backward-compatible thread safe version of the voxel finder

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: 8299 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/inc/TGeoVoxelFinder.h
File length: 8299 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/inc/TGeoVoxelFinder.h
File length: 13063 byte(s)
Diff to previous 19826
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 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/inc/TGeoVoxelFinder.h
File length: 13063 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/inc/TGeoVoxelFinder.h
File length: 13119 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/inc/TGeoVoxelFinder.h
File length: 13129 byte(s)
Diff to previous 19610
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 19610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 13 14:05:59 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geom/inc/TGeoVoxelFinder.h
File length: 10848 byte(s)
Diff to previous 15134
From Axel:
allows the header files to be #included without
requiring extra (dependent) #includes.

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/inc/TGeoVoxelFinder.h
File length: 10829 byte(s)
Diff to previous 13373
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 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/inc/TGeoVoxelFinder.h
File length: 10591 byte(s)
Diff to previous 13282
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 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/inc/TGeoVoxelFinder.h
File length: 10369 byte(s)
Diff to previous 12025
From Andrei:
a patch fixing RS2 and RS4 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/inc/TGeoVoxelFinder.h
File length: 10365 byte(s)
Diff to previous 7952
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 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/inc/TGeoVoxelFinder.h
File length: 10291 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/inc/TGeoVoxelFinder.h
File length: 8387 byte(s)
Diff to previous 6144
Speed improvements in many functions. Speed is about 25% in case of CMS ECAL

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/inc/TGeoVoxelFinder.h
File length: 8330 byte(s)
Diff to previous 5848
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 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/inc/TGeoVoxelFinder.h
File length: 8240 byte(s)
Diff to previous 5406
many changes in the geometry package.
Addition of the new class TGeoMedium

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/inc/TGeoVoxelFinder.h
File length: 5687 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/inc/TGeoVoxelFinder.h
File length: 5207 byte(s)
Diff to previous 4874
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 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/inc/TGeoVoxelFinder.h
File length: 4006 byte(s)
Diff to previous 4844
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 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/inc/TGeoVoxelFinder.h
File length: 4229 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/inc/TGeoVoxelFinder.h
File length: 4204 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