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

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

Parent Directory Parent Directory


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

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: 24288 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: 24228 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: 23062 byte(s)
Diff to previous 41234
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 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: 23011 byte(s)
Diff to previous 41137
Thread safe volume assemblies. Cleanup of thread data.

Revision 41137 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 5 09:35:17 2011 UTC (3 years, 3 months ago) by agheata
File length: 23002 byte(s)
Diff to previous 41097
Restored protected scope for TGeoPatternFinder::ThreadData_t (as advised by Philippe).

Revision 41097 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 15:32:12 2011 UTC (3 years, 3 months ago) by agheata
File length: 22955 byte(s)
Diff to previous 41095
Fix compilation problem on windows

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: 22946 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: 22026 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: 20970 byte(s)
Diff to previous 25779
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 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: 20672 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: 20670 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: 19436 byte(s)
Diff to previous 21425
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 21425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 17 15:59:27 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoPatternFinder.h
File length: 19436 byte(s)
Diff to previous 21301
From Andrei:
Improve the documentation layout such that THtml makes a better rendering.

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/inc/TGeoPatternFinder.h
File length: 17059 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/inc/TGeoPatternFinder.h
File length: 17368 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/TGeoPatternFinder.h
File length: 17368 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/TGeoPatternFinder.h
File length: 17426 byte(s)
Diff to previous 16573
remove :$ from tag line

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/inc/TGeoPatternFinder.h
File length: 17436 byte(s)
Diff to previous 15672
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/inc/TGeoPatternFinder.h
File length: 16409 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/inc/TGeoPatternFinder.h
File length: 16361 byte(s)
Diff to previous 15134
From Andrei:
New method in TGeoPatternFinder to retrieve division axis
- modifications in TGeoPainter to load automatically the plugin for geometry editors

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/TGeoPatternFinder.h
File length: 15413 byte(s)
Diff to previous 14534
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 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/inc/TGeoPatternFinder.h
File length: 14884 byte(s)
Diff to previous 13282
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 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/TGeoPatternFinder.h
File length: 14876 byte(s)
Diff to previous 11076
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

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/inc/TGeoPatternFinder.h
File length: 14915 byte(s)
Diff to previous 7022
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 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/inc/TGeoPatternFinder.h
File length: 14113 byte(s)
Diff to previous 5883
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 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/inc/TGeoPatternFinder.h
File length: 14297 byte(s)
Diff to previous 5723
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 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/inc/TGeoPatternFinder.h
File length: 14105 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/inc/TGeoPatternFinder.h
File length: 14096 byte(s)
Diff to previous 5397
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 5397 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 5 09:28:57 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/inc/TGeoPatternFinder.h
File length: 13855 byte(s)
Diff to previous 5381
Replace pure function definitions by dummy functions to avoid side-effects in I/O

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/inc/TGeoPatternFinder.h
File length: 13850 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/inc/TGeoPatternFinder.h
File length: 14681 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/TGeoPatternFinder.h
File length: 14606 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/inc/TGeoPatternFinder.h
File length: 15342 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