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

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

Parent Directory Parent Directory


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

Revision 49259 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 17 19:48:20 2013 UTC (21 months, 1 week ago) by pcanal
File length: 101167 byte(s)
Diff to previous 48928
Import revision 49258 from the v5-34-00 patch branch:
Try to clarify that phi1,phi2 express the ends [phi1,phi2] rather than the start and delta [phi1,phi1+phi2] when creating a tube segement

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: 100772 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: 100544 byte(s)
Diff to previous 39020
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 39020 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 12:29:03 2011 UTC (3 years, 9 months ago) by agheata
File length: 100404 byte(s)
Diff to previous 27731
Fixes in TGeoConeSeg::DistFromOutside and TGeoCtub::DistFromOutside for points close to boundaries

Revision 27731 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 9 17:40:56 2009 UTC (5 years, 10 months ago) by brun
File length: 100405 byte(s)
Diff to previous 24879
From Andrei:
- Removed casting away constness in headers, and removed == and != between doubles in all geom code (Philippe's suggestion)
- Info messages suppressed now by the static TGeoManager::SetVerboseLevel(0). We should probably call this at the beginning of stressGeometry.cxx
- Fine tune in TGeoIntersection::DistFromInside() that solves inner boundary crossings in case the starting point is very close to boundary
- TGeoManager::FindInCluster() gives now priority (when selecting between MANY candidates) to the node that was proposed by FindNextBoundary()

Revision 24879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 18 08:04:40 2008 UTC (6 years, 6 months ago) by brun
File length: 100180 byte(s)
Diff to previous 24870
Fix compilation warnings on Windows

Revision 24870 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 17 16:30:58 2008 UTC (6 years, 6 months ago) by brun
File length: 100179 byte(s)
Diff to previous 22923
From Andrei:
new development related to overlap checking. This generates not only the shape mesh vertices but some 1000 points on the shape outline/surface. This is implemented for all important shapes except TGeoPcon (which works using the old method).

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

Revision 20945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 21 08:48:37 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 96962 byte(s)
Diff to previous 20882
Fix a bug in TGeoCtub::Safety. The array saf is dimensioned as saf[4],
but TMath::LocMax(5,saf) was called instead of TMath::Locmax(4,saf).

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/TGeoTube.cxx
File length: 96962 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/TGeoTube.cxx
File length: 96962 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/TGeoTube.cxx
File length: 97013 byte(s)
Diff to previous 19617
remove :$ from tag line

Revision 19617 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 13 16:00:32 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 97023 byte(s)
Diff to previous 18692
From Andrei:
Patch for several complex shapes where it is faster to check first if the bounding box is crossed when coming from outside.

Revision 18692 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 8 12:10:14 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 96414 byte(s)
Diff to previous 18553
From Andrei Gheata and Alja Mrak-Tadel:
TGeoTube::MakeBuffer3D() assigns wrong number of segments if tube does not have inner radius.

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/src/TGeoTube.cxx
File length: 96321 byte(s)
Diff to previous 17356
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 17356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 16 09:04:50 2007 UTC (8 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 95193 byte(s)
Diff to previous 17306
Remove dependencies on TROOT.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/TGeoTube.cxx
File length: 95212 byte(s)
Diff to previous 16788
   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 16788 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 16 11:26:23 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 95193 byte(s)
Diff to previous 15672
From Andrei:
a small patch allowing definition of toruses in TGeoManager::Volume. There is also a protection added in case of definition of tube/cone segments without phi segmentation.

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/TGeoTube.cxx
File length: 94949 byte(s)
Diff to previous 15176
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 15176 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 26 09:27:12 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 94925 byte(s)
Diff to previous 13282
Fix coding conventions violations

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/src/TGeoTube.cxx
File length: 94905 byte(s)
Diff to previous 13271
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

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/src/TGeoTube.cxx
File length: 94707 byte(s)
Diff to previous 12560
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 12560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 30 09:58:41 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 93390 byte(s)
Diff to previous 11866
Changes to make the rulechecker happy in directory geom and geompainter.

Revision 11866 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 25 14:25:17 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 93390 byte(s)
Diff to previous 11808
From Richard Maunder:
Major changes to GL viewer to support:

i) Logical/Physical shape pairings
ii) Level of detail (LOD) scheme (TGLSphere only using at present)
iii) Common display list cache
iv) Scene rebuilds for large geometries
v) Some basic interactivity improvements - draw timeouts, drop low LOD
shapes etc
vi) New camara interactions:

Left Mouse: Rotate
Middle Mouse: Truck (pan parallel to camera film plane)
Right Mouse: Side-side drag dolly/zoom
Double click any button to reset the camera.

The previous pan with arrow keys, and zoom on mouse wheel are still
supported.

Camera interaction is default in viewer. These extra camera modes mean
there are not enough mouse buttons for previous right context/select.
To select / invoke context menu use Shift+Left Button and Shift+Right
Button respectively.

Revision 11808 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 17 13:23:16 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 95177 byte(s)
Diff to previous 11785
From Andrei Gheata:
a patch fixing segments/polygons for tubes with rmin=0.

Revision 11785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 13 16:20:38 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 90976 byte(s)
Diff to previous 11671
From Mihaela Gheata:
a patch with some fixes in SavePrimitive:

- shapes have now unique pointer names
- matrices used in composite shapes get registered to TGeoManager
- fix in TGeoCompositeShape::SavePrimitive, added
TGeoBoolNode::SavePrimitive

Revision 11671 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 21:12:08 2005 UTC (9 years, 9 months ago) by rdm
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 90884 byte(s)
Diff to previous 11365
fix unfortunate spelling error (parralel -> parallel).

Revision 11365 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 18 08:03:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 91068 byte(s)
Diff to previous 11272
From Richard:
Fixes for

i) Incorrect bounding boxes for g3d shapes and spheres in OGL viewer.
ii) Missed case of TGetCTub - cut tube. Now supported natively in OGL
viewer as before.

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/src/TGeoTube.cxx
File length: 90667 byte(s)
Diff to previous 11265
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 11265 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 8 10:32:18 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 94555 byte(s)
Diff to previous 11204
From Andrei Gheata:
I attached 2 small fixes: TGeoManager::FindNextBoundary(): fixed un-initialized
fIsOnBoundary flag (safety was not computed anymore after the first step on
boundary made by the MC)
from Mihaela: fix in TGeoCtub::SavePrimitive()

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/TGeoTube.cxx
File length: 94443 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/TGeoTube.cxx
File length: 94440 byte(s)
Diff to previous 11031
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 11031 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 3 16:58:57 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 94419 byte(s)
Diff to previous 11028
Fix from Andrei to fix a compilation problem on Solaris.

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/src/TGeoTube.cxx
File length: 94395 byte(s)
Diff to previous 11002
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 11002 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 28 10:01:04 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 92092 byte(s)
Diff to previous 10952
From Andrei:
I attached the first big chunk of changes.
The methods changed are mostly the implementations of  TGeoShape::DistFromInside/DistFromOutside for some specific shapes. The new algorithms are boundary error tolerant, giving the correct distance even if the point is on the wrong side of the boundary. The calling sequence remains un-changed. The affected shapes for now are: box, trd1, trd2, tube, tube seg, cone, cone seg, pcon, pgon. I will complete few remaining for the full description of ALICE next week (para + arb8 family: trap,gtra).

Revision 10952 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 19 13:19:34 2005 UTC (10 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 86267 byte(s)
Diff to previous 10699
From Timur:
1. TGLTube replaced by TGLCylinder - generic class for tubes, cones,
segments and cuts (in theory, for polycones too). Tubes are drawn now as
strips (quad and triangle), real normals for tubes are calculated.
gl vertex arrays are used.
2. For each type of tube, I know the exact size of vertices arrays I need
- I don't need to use nsegments (because of real normals, we don't need
large tube segmentation to get smooth surfaces).

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/src/TGeoTube.cxx
File length: 80842 byte(s)
Diff to previous 10662
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 10662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 1 16:57:19 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 79164 byte(s)
Diff to previous 10630
From Timur:
Drawing tubes/cones with gluCylinder enabled
TGLSceneObject was modified
TGLSimpleLight was removed

Revision 10630 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 26 15:55:16 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78690 byte(s)
Diff to previous 10626
Do not use GL display list. Temporarily remove optimisation for Tubes and Cones.
A better algorithm is in the pipeline.

Revision 10626 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 26 11:08:05 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 79428 byte(s)
Diff to previous 10621
From Andrei Gheata:
I have turned back on the modifications by Timur in TGeoTube, but with
the correct rotation matrix now. The problem is still that with this on,
reflected tubes are wrong. In this case the reflection bit has to be
ignored by TGLTube since it is not a FaceSet representation (where the
order of segments matter). Just commenting out 2 lines in TGLTube I get
the correct behavior.

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/src/TGeoTube.cxx
File length: 79688 byte(s)
Diff to previous 10557
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 10557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 18 14:37:02 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 80146 byte(s)
Diff to previous 10498
From Timur & Olivier:
- Tube and cone are now rendered with specialized OpenGL functions

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/src/TGeoTube.cxx
File length: 78796 byte(s)
Diff to previous 10313
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 10313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 15 15:30:50 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78702 byte(s)
Diff to previous 10100
From Andrei Gheata;
- cleanup of all obsolete methods related to the old 3D visualization in
TGeoPainter
- fix in color settings for TGeoPhysicalNode - minor, but touches most
shape.cxx files
- improved visible node counting - it is now automatic and verbose. By
default the visible depth is automatized for 10000 nodes (as before) but
calling gGeoManager->SetVisLevel(n) disables this and switches to old
style. It can be turned on to automatic state by calling
gGeoManager->SetMaxVisNodes(n) (which also updates the current view).
Limitation : nodes are not recount after setting volumes or branches
invisible unless a new Draw() is called.

Revision 10100 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 13:44:14 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78774 byte(s)
Diff to previous 10047
I forgot to set buff->fColor in these 3 shapes

Revision 10047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 14 15:56:15 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78742 byte(s)
Diff to previous 10043
Minor change in the color algorithm such that the previous behaviour of X3D
is not affected.

Revision 10043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 14 15:15:46 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78715 byte(s)
Diff to previous 9928
Modify all the 3-d primitives to set the true color in the new data member
of TBuffer3D:;fColor. This color is now used directly by the GL viewer.

Revision 9928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 6 16:42:33 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78710 byte(s)
Diff to previous 9855
From Andrei
-SetBit(kIsReflection) in TGeoShape::paint when the object has a reflection matrix.
-Exploded view works again.
-Set TGeoVolume instead of TGeoShape when filling TBuffer3D
-Modify rootgeom.C ("R" problem). TGeoArb8 allowing definition of vertices in any order.

Revision 9855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 30 07:04:39 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78596 byte(s)
Diff to previous 9665
From Andrei Gheata & B.Nilsen
New set of getters in TGeoXtru.
Improved error messages in the other classes.

Revision 9665 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 78383 byte(s)
Diff to previous 9311
From Olivier, Timur Pocheptsov , Andrei Gheata and Rene
Mega patch to introduce the new 3-d interface (to be described later).
The new interface has been tested with both X3D and OpenGL under Linux.
Being tested under Windows.
Note that several changes are expected in these classes (OpenGL in particular)
in the coming days.

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/src/TGeoTube.cxx
File length: 72500 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/src/TGeoTube.cxx
File length: 73357 byte(s)
Diff to previous 8565
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 8565 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 13 07:04:42 2004 UTC (10 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 72537 byte(s)
Diff to previous 8402
From Andrei Gheata:

- All shapes.cxx - added shape name in InspectShape() + some corrections
in error messages (Bjorn requirement)
- TGeoAtt.cxx - activity flag added (not yet taken into account by tracking)
- TGeoMaterial/Medium - added Cerenkov properties by Andreas (for FLUKA)
- TGeoVolume.h, TGeoManager.k - added *TOGGLE* 's
- TGeoPhysicalNode - possibility to align a physical node. One can
define a physical node according a path, then change its local
transformation matrix OR shape - the corresponding branch is decoupled
from the logical tree and a new trackable branch is created. A
post-alignment check for overlaps can be perfomed for the aligned node.

Revision 8402 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 15 12:23:17 2004 UTC (10 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 72445 byte(s)
Diff to previous 8175
Fixes from wrong protections in tests like;
if (iact<3 && *safe) {
should be
if (iact<3 && safe) {
(thanks to Andreas Zoglauer)

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/TGeoTube.cxx
File length: 72447 byte(s)
Diff to previous 7952
More speed improvements

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/src/TGeoTube.cxx
File length: 71813 byte(s)
Diff to previous 7724
Several improvements from Andrei GHeata.

additional option "i" (reset by default) to CloseGeometry() to have the
node id array built or not.

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/TGeoTube.cxx
File length: 71803 byte(s)
Diff to previous 7713
From Andrei

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

Revision 7713 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 10 15:31:23 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 70701 byte(s)
Diff to previous 7671
From Andrei Gheata:

some changed files in TGeo improving the performance of
TGeant3 WITHROOT:

- safety was computed twice (both by TGeoManager::Safety() as well as
the shape algorithms called by TGeoManager->FindNextBoundary()). The
speed now with WITHROOT improves.

- few fixes in some shape algorithms related to boundary treatment (few
others to be done)
- Improved computation of normals
- Improved non-recursive algorithm of TGeoPgon::DistToOut()

- fix of some default value in all shape headers (0 replaced by kBig) to
allow range limited computation of DistToIn/Out - now working just for pgon.

Revision 7671 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 28 13:52:35 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 70475 byte(s)
Diff to previous 7451
From Andrei,

several fixes in safety algorithms

Revision 7451 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 20 08:46:33 2003 UTC (11 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 70693 byte(s)
Diff to previous 7123
From Andrei Gheata:
- fix in pcon and pgon safety for points exactly on boundaries
- new class TGeoVolumeAssembly inheriting from TGeoVolume and
representing an assembly of volumes. This helps grouping togeather a set
of nodes (using the usual TGeoVolumeAssembly::AddNode()) without the
definition of a container. When positioning an assembly in other volume,
this will just position its own nodes inside this, without being
integrated to the logical hierarchy. The class is not well documented,
but a detailed description will go to the users guide.

Revision 7123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 21 10:17:16 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 70476 byte(s)
Diff to previous 7121
A few fixes by Andrei to solve portability problems, in particular under Windows.

Revision 7121 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 21 08:27:34 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 70355 byte(s)
Diff to previous 7022
From Andrei Gheata:
- computation of normals to all primitive shapes, except TGeoCompositeShape
- improved TGeoTorus algorithms
- ray tracing feature : works as TGeoVolume::Draw() except that the
volume is ray-traced according to current visualization settings. All
features from a normal drawing are preserved : picking, zooming,
rotating,... The time for producing the ray-traced image scales with the
surface of the current pad (in pixels) and to the number of visible
nodes on screen. The current image can be clipped with any other shape,
defined in the reference frame of the current drawn volume. It works like:
    TGeoTubeSeg *clip = new TGeoTubeSeg(params...);
    gGeoManager->SetClippingShape(clip);
    someVolume->Raytrace();
    ...
    gGeoManager->SetClipping(kFALSE/kTRUE); to disable/enable clipping.
  If the clipping shape is changed, the old one is automatically deleted.

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/TGeoTube.cxx
File length: 65674 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/TGeoTube.cxx
File length: 66904 byte(s)
Diff to previous 6563
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 6563 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 7 13:32:39 2003 UTC (11 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66320 byte(s)
Diff to previous 6304
New version of the geometry package from Andrei:

4 new files:
  geom/inc/TVirtualGeoTrack.h
  geom/src/TVirtualGeoTrack.cxx
  geompainter/inc/TGeoTrack.h
  geompainter/src/TGeoTrack.cxx

This new version adds support for track visualization. Adding tracks is a user task
and can be done using :
  TGeoManager::AddTrack() for primary tracks. The manager class knows
about the current primary and provides utility methods to
retreive/change this. Users has to handle only TVirtualGeoTracks.
Secondaries can be added to their primary :
  TVirtualGeoTrack::AddDaughter()
Points (x,y,z,tof) can be associated with a track :
  TVirtualGeoTrack::AddPoint()

  Providing tracks to the modeller and adding points are users tasks.
Track names should be supplied by users after creation :
    TVirtualGeoTrack::SetName() - note that tracks are not tnamed
objects, but their names are globally handled by the TGeoManager. The
usage of ROOT default particle names are recommended for tracks since it
triggers special colors/line attributes.
Tracks are drawable/pickable objects. Drawing options are :
  - default - only current track drawn
  - /D      - track and first level daughters
  - /*      - track and all descendents
  - /N<name> - only tracks from particles with given <name>

If points with time of flight are supplied, the drawing range tmin,tmax
can be specified :
  TGeoManager::SetTminTmax() (if no arguments time cut is supressed)

Tracks can be animated individually or global :
  TVirtualGeoTrack::AnimateTrack(tmin,tmax,nframes,option)
  TGeoManager::AnimateTrack(tmin,tmax,nframes,option)

Animation otions are :
  /G - animate also geometry in the given time interval
  /S - save all frames as .gif files
  drawing options act as well in animation. Options can be concatenated
and should be upper case (due to /N<name>)

If tracks are defined, the geometry I/O takes them into account.
However, when loading a geometry file containing tracks, libGeomPainter
has to be loaded since it contains the class implementation definition :
    gSystem->Load("libGeom")
    gSystem->Load("libGeomPainter")
    TGeoManager::Import("mygeom.root")

Revision 6304 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 14 11:49:03 2003 UTC (11 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66291 byte(s)
Diff to previous 6299
From Andrei:
Add support for positioning
parametrized boxes into : TRAP, GTRA, PARA, TRD1 and TRD2. Now in D0
there are only 793 extrusions/overlaps within 0.1 cm.

Revision 6299 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 11 16:59:47 2003 UTC (11 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66391 byte(s)
Diff to previous 6113
From Andrei:
modified files in order to fully map G3-like
volume parametrization : supports divisions of parametrized volumes
(e.g. D0). D0 has one Rmin/Rmax error in the definition, but still runs.

Revision 6113 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 12 14:49:38 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66350 byte(s)
Diff to previous 6086
From andrei:
  TGeoManager.cxx :
    - removed obsolete MakeCopyNodes() from MakeXXX()
   TGeoTube.cxx :
   -  allow placing parametrized tubes in more shapes.
  TGeoVolume.cxx:
   - wrong divisioning issue now a Fatal() instead of Error()
   - corection in handling divisions of parametrizes shapes - it
affected EMCAL where some node where duplicated

Revision 6086 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 11 12:16:06 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66234 byte(s)
Diff to previous 6083
Accept rmin being equal to rmax

Revision 6083 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 10 17:23:14 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66233 byte(s)
Diff to previous 6068
From Andrei:
- new files TGeoOverlap.h/cxx in geompainter directory. Contains one
base class and 2 derived, describing overlaps. The CheckOverlaps()
methods in TGeoManager and TGeoVolume fills a list of these objects
which is held by TGeoManager class and appears in the browser as
"Illegal overlaps". The elements in this list are ordered according the
overlapping distance, big comes first and extrusions before node
overlaps. Double-clicking triggers drawing. Points in the
overlapping/extruding region are paint in red, while the 2 candidates in
bleu/green. The list of overlaps is dynamic and changes whenever a check
is done per volume.
- volumes with invalid shapes post a warning (see ATLAS)

Revision 6068 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 7 13:46:48 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66193 byte(s)
Diff to previous 6038
New version from Andrei and Mihaela:
 - several implementations of method Safety for shapes
 - few bug fixes in safety computation (phi segmented shapes)
 - volumes have now an unique ID that you can get with GetNumber()
 - Mihaela implemented an overlap checker that can be called either for
all geometry :
    TGeoManager::CheckOverlaps(Double_t ovlp=0.1) or just for a given
volume. OVLP is the lower overlapping limit. The checker looks for the
following errors in the geometry definition :
  1 - nodes extruding their mother - can be visualised with
TGeoManager::DrawExtrusion(char *mother, char *node) which draws mother
in blue and extruding daughter in red
  2 - ONLY brothers overlapping to each other - can be  visualized with
TGeoManager::DrawOverlap(char *volume, char *node1, char *node2) - node1
will appear in red and node2 in blue.
  These methods can be called only after CheckOverlaps() that prints the
list of overlaps. They are all in the context menu of both TGeoVolume
and TGeoManager.

Revision 6038 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 31 16:38:23 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 65740 byte(s)
Diff to previous 5981
New version of the geometry package from Andrei:
 - new algorithms for computing safety for tubes, cones, pcon
 - TGeoChecker::CheckPoint() modified so that a "safety ball" is drawn
when one uses it. - global tracking modified such that the distances for most of the
shapes (except pgon and arb8) are computed only if the safety to these
shapes is smaller than a refference value.

 There is one limitation in case global safety is computed : the value
fSafety hold by TGeoManager does not represent the real safety, but the
minimum safety value among those calculated for the checked nodes.
Therefore if some node is "backwards" w.r.t the current direction, it
will be ignored in safety computation. I do not know if this affects
tracking, but I guess not. In short words, the global safety depends on
the current direction - for instance after just exiting a volume it
might happen that safety is not a very small value.

Revision 5981 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 24 08:38:50 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66153 byte(s)
Diff to previous 5972
From Andrei:
fix warnings aboit unused arguments

Revision 5972 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 23 14:25:37 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 66106 byte(s)
Diff to previous 5946
From Andrei:
- all shape classes : changed the prototype for Safety() method.
Eliminated validity checking in Divide() methods that are now globally
handled by TGeoVolume::Divide(). Added methods
TGeoShape::GetAxisName/Range(Int_t iaxis) which are used by the new
global division mechanism.
- safety for TGeoTrap now computed (pcon, pgon not yet)
- TGeoVolume : eliminated unnecesarry Divide() prototypes. The new
Divide() prototype is backwards compatible (old macros works with it)
but supports an option in order to allow all G3 division types. More
description in TGeoVolume::Divide().
- TGeoManager : Only one prototype for G3-like divisions left,
supporting all G3 options and also being able to assign to the division
volumes a medium different than the one of the divided volume. New
FindNode(x,y,z) implemented. New IsSameLocation(x,y,z) with the same
functionality as GINVOL.

Revision 5946 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 20 14:35:48 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 67575 byte(s)
Diff to previous 5905
Several updates to the geometry pacjage by Andrei:
TGeoManager :
- added getter for current direction;
- dummy cache option by default
TGeoNodeOffset
- set the name for parametrized divisions; minor fix in allocating the
space for the name (safer now)
TGeoPatternFinder :
- the getter for the matrix of a divided node will return the updated
matrix (before one had to do TGeoNodeOffset::cd() first, now
TGeoNodeOffset::GetMatrix() does this in one go)
Shape classes :
- protection for wrong division range slightly modified

Revision 5905 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 13 22:06:35 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 67733 byte(s)
Diff to previous 5894
Fix uninitialized arrays in the DistToIn functions.

Revision 5894 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 13 14:53:49 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 67744 byte(s)
Diff to previous 5883
Bug fixes in TGeoTube by Andrei.

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/src/TGeoTube.cxx
File length: 69194 byte(s)
Diff to previous 5848
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 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/src/TGeoTube.cxx
File length: 68390 byte(s)
Diff to previous 5723
many changes in the geometry package.
Addition of the new class TGeoMedium

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/TGeoTube.cxx
File length: 68402 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/TGeoTube.cxx
File length: 68262 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/src/TGeoTube.cxx
File length: 68345 byte(s)
Diff to previous 4918
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 4918 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 15 15:32:25 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 65191 byte(s)
Diff to previous 4874
New version of the geometry package by Andrei.
All graphics moved to geompainter (hopefully)

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/TGeoTube.cxx
File length: 55447 byte(s)
Diff to previous 4845
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 4845 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 13:59:44 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoTube.cxx
File length: 55384 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/src/TGeoTube.cxx
File length: 55389 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