Log of /trunk/geom/geom/inc/TGeoXtru.h
Parent Directory
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: 6602 byte(s)
Diff to
previous 44507
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.
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: 6524 byte(s)
Diff to
previous 42999
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
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: 6519 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
18553 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 23 08:58:53 2007 UTC (7 years, 9 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5898 byte(s)
Diff to
previous 15672
From Andrei:
- new method TGeoShape::GetMeshNumbers() that allows getting the number of points, segments and polygons in the mesh of any shape - to be used by an upgrade of the overlap checker
- addition in the overlap checker to use the above info
- modifications in TGeoManager for improving performance for tracking geantinos with G4root interface
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/TGeoXtru.h
File length: 5809 byte(s)
Diff to
previous 15134
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/inc/TGeoXtru.h
File length: 5805 byte(s)
Diff to
previous 13282
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
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/inc/TGeoXtru.h
File length: 5731 byte(s)
Diff to
previous 11272
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
11272 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5688 byte(s)
Diff to
previous 11028
From Richard Maunder:
Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:
i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.
Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.
All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.
TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.
Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).
For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.
Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.
3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).
NOTE:
1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.
2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.
Revision
11028 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 3 11:40:39 2005 UTC (9 years, 11 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5633 byte(s)
Diff to
previous 10699
From Andrei Gheata:
The diffs for the changes from Mihaela. They implement the SavePrimitive method for:
- all shapes
- materials, mixtures and media
- matrices
- TGeoVolume - just a first version
What is missing:
Divisions + manager metod to save:
- all geometry
- just the branch corresponding to one volume
The differences compared to g2root are that:
- when saving just a a branch just materials/media/matrices for that branch are created (module encapsulation)
- instead of creating objects with numerical arguments, the coresponding variables are defined and used.
e.g. instead of :
new TGeoBBox("name", 10.,20.,30); the generated code is:
dx = 10.;
dy = 20.;
dz = 30.;
pShape = new TGeoBBox("name", dx,dy,dz);
The diffs contain also 2 shapes with boundary-safe algorithms: TGeoPara and TGeoTrap
Revision
10699 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 7 14:24:57 2004 UTC (10 years, 1 month ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5560 byte(s)
Diff to
previous 10621
From Andrei Gheata:
I attached some diffs as proposed by Matevz and Alja which made their
own GL-based TGeo viewer in GLED. The changes are just structural:
- lines/polygons filling splitted out from TGeoShape::Paint() as
TGeoShape::SetLinesAndPols(TBuffer3D *buff).
- Shapes can create and fill a new TBuffer3D with the new method:
TGeoShape::Make3DBuffer() in the local frame
They need this since they have their own geometry tree parsing algorithm
(not the same as in TGeoPainter::PaintNode()) with another
structure/matrix handling system. Basically they just need one buffer
per volume, reusing them since they attach them to TGeoVolume as user
data. Not quite bad idea: they create only once a limited number of
buffers that they re-use without re-filling...
Revision
10621 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 25 12:10:01 2004 UTC (10 years, 2 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5449 byte(s)
Diff to
previous 10498
From Andrei and Mihaela Gheata:
New shape TGeoHype from Mihaela.
This patch contains all modifications in TGeo, additions in
g2root to adjust format of MakeHype(...) and a fix in TBuffer3D.cxx
(Paint("SAME")). Also Mihaela modified geodemo.C
The modifications (made by Timur probably) TGeoTube::Paint() for making
GL-like tubes are wrong so I temporary disabled them. The global matrix
filled to GL is wrongly retreived (+ it may come from other sources in
case of overlap drawing).
Revision
10498 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 8 09:56:24 2004 UTC (10 years, 2 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5517 byte(s)
Diff to
previous 9855
From Andrei Gheata:
Change names of TGeo functions with confusing names
DistToIn -> DistFromOutside
DistToOut -> DistFromInside
It should be much less confusing since it specifies where the starting
point is supposed to be.
Revision
9311 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 25 11:59:56 2004 UTC (10 years, 7 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5005 byte(s)
Diff to
previous 8648
From Andrei Gheata:
- TGeoShape::PaintNext() removed from all shapes (for the new
visualization system to be introduced shortly).
The new mechanism is implemented in
TGeoPainter::PaintShape (uses gGeoManager as we discussed), but it also
affect some shapes (TGeoCompositeShape at least)
- New files: TGeoElement.h /.cxx representing a chemical element. This
is very helpful for the implementation of TFluka. Materials/mixtures can
be now built also based on this new class. An element table is kept
always transient in memory.
- Mihaela implemented the TGeoParaboloid shape: new files:
TGeoParaboloid.h/cxx.
Revision
8648 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 22 14:07:15 2004 UTC (10 years, 9 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 5079 byte(s)
Diff to
previous 8401
From Andrei Gheata:
- TGeoXtru navigation now fully implemented by Mihaela
- Improvements in the ray-tracing algorithm
- Added TGeoShape::GetNmeshVertices() to be used by visualization and by
the overlap checker in case of composite shapes (currently the checker
does not work with composites)
- I have created a new demo macro (see /tutorials/geodemo.C in the
attachment) to replace /tutorials/geoshapes.C. Functionality:
- all previous functionality of geoshapes.C
- new shapes examples added: TGeoTorus, TGeoXtru, TGeoCompositeShape
- can call rootgeom.C
- ray-tracing can be switched on/off
- comments can be switched on/off
- demonstrates alignment
Revision
8401 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 15 12:11:51 2004 UTC (10 years, 10 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 4691 byte(s)
Diff to
previous 8166
From Andrei Gheata
TGeo: - from Mihaela: TGeoXtru - DistToOut implemented
- modification in TGeoManager::Import() to preserve gFile (I saw this
was needed running example02 of the VMC - when geometry was retreived
from file)
Revision
8163 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Mon Feb 9 14:03:34 2004 UTC (10 years, 11 months ago) by
brun
Original Path:
trunk/geom/inc/TGeoXtru.h
File length: 4295 byte(s)
From Andrei Gheata:
I have attached the new files and all modifications done by Mihaela to
include the new shape TGeoXtru representing the old TXTRU shape.
Currently she implemented the Contains() method. The shape can be also
visualized in the pad or x3d (see atached macro). The only limitation in
x3d is that the end-polygons are not decomposed into convex polygons, so
in case the section of the TGeoXtru is concave the drawing is not well
handled.
I also included a minor modification in TGeoManager.h needed by FLUKA
(that now can perform tracking and completers gAlice->Run() with TGeo!!!)
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.