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