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

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

Parent Directory Parent Directory


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

Revision 44689 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 14 13:26:10 2012 UTC (2 years, 7 months ago) by agheata
File length: 71415 byte(s)
Diff to previous 44507
Fixed double delete when having several geometry managers per session

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: 70496 byte(s)
Diff to previous 43564
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 43564 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 30 07:09:37 2012 UTC (2 years, 9 months ago) by agheata
File length: 70436 byte(s)
Diff to previous 42999
Added thread data container creation also in the copy constructors and assignment operators of pattern finders. This was affecting GEANT4 simulation in the TGeoManager::ConvertReflections phase

Revision 42999 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 14 13:42:55 2012 UTC (2 years, 11 months ago) by agheata
File length: 64738 byte(s)
Diff to previous 42459
Thread data is now pre-allocated when calling gGeoManager->SetMaxThreads(). This adds ~20MB for ALICE geometry per 100 threads, but avoids atomic allocations and thread locking. All run-time geometry locks removed. Thread id stored now using static thread__ allocator, faster and lock free for subsequent calls issued by the same thread.

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: 62812 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: 62973 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: 62866 byte(s)
Diff to previous 41441
Lock methods ClearThreadData

Revision 41441 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 18 09:07:48 2011 UTC (3 years, 3 months ago) by agheata
File length: 62824 byte(s)
Diff to previous 41095
Locking of patter finder done only when allocating thread data. Fixed warning about node ID array.

Revision 41095 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 12:56:36 2011 UTC (3 years, 3 months ago) by agheata
File length: 62770 byte(s)
Diff to previous 40116
Thread-safe version of pattern finders. No measurable impact on performance.

Revision 40116 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 4 12:00:32 2011 UTC (3 years, 6 months ago) by agheata
File length: 58586 byte(s)
Diff to previous 39018
Allow creating and accessing transparently a different list of navigators for each calling thread. Must be initialized via TGeoManager::SetMultiThread()

Revision 39018 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 09:38:31 2011 UTC (3 years, 9 months ago) by agheata
File length: 53601 byte(s)
Diff to previous 34898
New generic method to check shape navigation methods TGeoShape::CheckShape that can run a given test number from a test suite. Currently a single test implemented (see desctiption in TGeoShape::CheckShape). Fixed TGeoArb8::DistToPlane with respect to boundary crossing. Added possibility to divide assemblies according a pattern (still under development). This is the first step in being able to gave generic divided-like volumes without being forced to have a container shape - particularly useful in describing calorimeters.

Revision 34898 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 15:53:58 2010 UTC (4 years, 5 months ago) by agheata
File length: 53258 byte(s)
Diff to previous 34897
Fixed uninitialized variable, coverity #21481

Revision 34897 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 15:48:40 2010 UTC (4 years, 5 months ago) by agheata
File length: 53195 byte(s)
Diff to previous 25779
Fixed uninitialized variable, coverity #21477

Revision 25779 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 10 12:33:44 2008 UTC (6 years, 3 months ago) by brun
File length: 53090 byte(s)
Diff to previous 25777
From Bertrand:
- Fix several warnings C4138: '*/' found outside of comment

Revision 25777 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 10 10:37:48 2008 UTC (6 years, 3 months ago) by brun
File length: 53086 byte(s)
Diff to previous 22923
From Andrei:
While debugging the interfaces with G4/FLUKA, i found a couple of bugs related to TGeoNavigator::FindNextBoundaryAndStep(). One problem was affecting crossing boundaries within divided volumes (sometimes a step was made in the mother volume and few division cells were skipped). The other problem was wrongly returning the top node even if the point was correctly located.

Both problems are fixed by the patch. This will certainly improve the situation for the problems reported both with TFluka and g4root interfaces, as well as rare problems when computing the material budget in ALICE (reconstruction). Does not affect G3 navigation that works using FindNextBoundary()

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

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/TGeoPatternFinder.cxx
File length: 46357 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/TGeoPatternFinder.cxx
File length: 45384 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/TGeoPatternFinder.cxx
File length: 43987 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/src/TGeoPatternFinder.cxx
File length: 43987 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/TGeoPatternFinder.cxx
File length: 44047 byte(s)
Diff to previous 17306
remove :$ from tag line

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/TGeoPatternFinder.cxx
File length: 44057 byte(s)
Diff to previous 16573
   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 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/TGeoPatternFinder.cxx
File length: 44038 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/TGeoPatternFinder.cxx
File length: 38040 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/TGeoPatternFinder.cxx
File length: 38030 byte(s)
Diff to previous 15402
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 15402 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 13 12:11:45 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 37934 byte(s)
Diff to previous 15172
From Andrei:
New method in TGeoPatternFinder to retrieve division axis
- modifications in TGeoPainter to load automatically the plugin for geometry editors

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/TGeoPatternFinder.cxx
File length: 35669 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/TGeoPatternFinder.cxx
File length: 35551 byte(s)
Diff to previous 14832
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 14832 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 25 09:38:27 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 34117 byte(s)
Diff to previous 14534
From Andrei:
few modifications including a fix to a serious problem: in my last patch
for TGeoPatternFinder.cxx class I removed by mistake a line resulting in the fact that
no division on Z axis is seen anymore by tracking!!


Few other modifications:
- TGeoManager::Edit() to invoke the geometry builder plugin if existing (Mihaela)
- few fixes in the painter for the case when the geometry is not closed
- a small correction in TGeoManager related to MANY's

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/TGeoPatternFinder.cxx
File length: 34087 byte(s)
Diff to previous 11204
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 11204 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 28 20:52:43 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 34379 byte(s)
Diff to previous 11076
In calls to SavePrimitive replace comments in arguments such as
   */*option*/
by
   * /*option*/

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/TGeoPatternFinder.cxx
File length: 34367 byte(s)
Diff to previous 8175
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 8175 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 10 08:56:20 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 30455 byte(s)
Diff to previous 7724
More speed improvements

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/TGeoPatternFinder.cxx
File length: 30252 byte(s)
Diff to previous 7022
From Andrei

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

Revision 7022 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 31 20:19:33 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 30269 byte(s)
Diff to previous 6725
From Andrei GHeata:

- TGeoManager::FindNormal(Bool_t forward=kTRUE)  = global algorithm for
finding the normal to the next/previous crossed surface, from the
current global point/direction. The current point does not necessary
need to be close to the surface, and the normal direction is always
returned so that its dot product with the current direction is positive
defined. One can get the normal after its computation with:
    Double_t *TGeoManager::GetNormal()

- Normal computation algorithms for box, arb8, trap, gtra, cone in the
corresponding shape classes.

- New primitive shape fully implemented, from visualization to
computation of distances (except the normal computation, missing also
for several other shapes). Class name: TGeoTorus, representing a torus
segment with :
    - R - radius of the circle representing the torus axis
    - Rmin - inner radius    (like a donut having a hole in the middle)
    - Rmax - outer radius (Rmin < Rmax < R)
    - Phi1 - start phi
    - Dphi - phi range

- Some unused obsolete methods removed from the TGeoShape class.
- modifications in TGeoIdentity default ctor to initialize gGeoIdentity
- TGeoMaterial::IsMixture(),
   TGeoMaterial::FindDuplicateMaterial(const TGeoMaterial *mat)

- several other minor changes

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/TGeoPatternFinder.cxx
File length: 30540 byte(s)
Diff to previous 5723
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 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/TGeoPatternFinder.cxx
File length: 29844 byte(s)
Diff to previous 5406
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 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/TGeoPatternFinder.cxx
File length: 29824 byte(s)
Diff to previous 5381
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 5381 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 3 13:19:09 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoPatternFinder.cxx
File length: 29907 byte(s)
Diff to previous 5354
From Andrei; Bug fixes related to I/O

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/TGeoPatternFinder.cxx
File length: 30266 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/src/TGeoPatternFinder.cxx
File length: 29507 byte(s)
Diff to previous 4841
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 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/TGeoPatternFinder.cxx
File length: 29614 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