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

Log of /trunk/geom/geompainter/src/TGeoChecker.cxx

Parent Directory Parent Directory


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

Revision 48046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 15:35:16 2012 UTC (2 years, 1 month ago) by rdm
File length: 106171 byte(s)
Diff to previous 47356
From Ioan:
Replace the trunk code that uses the deprecated TH1::kCanRebin bit with
the new methods TH1::CanExtendAllAxes() and TH1::SetCanExtend() - see r47909,
r48012 and r48031. The old TH1::kCanRebin bit did not really have much to
do with histogram rebinning, but rather with extending the limits of the
histogram's axes (which can cause a rebin, but only in some cases). As such,
the word "Rebin" has been replaced with "Extend" for the new methods.

Rename TH1::RebinAxis() to TH1::ExtendAxis() for the reasons stated above.
The TH1::RebinAxis() method will be kept in v6-00 for backward compatibility
with an obsolete warning and will be removed in v6-02. The current
implementation simply forwards the call to TH1::ExtendAxis().

Revision 47356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 16 15:23:30 2012 UTC (2 years, 2 months ago) by pcanal
File length: 106161 byte(s)
Diff to previous 47228
Remove spurrious warning about uninitialize memory use

Revision 47228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 13 17:09:38 2012 UTC (2 years, 2 months ago) by agheata
File length: 106151 byte(s)
Diff to previous 44557
Added possibility to prevent known overlaps produced by misalignment by assignig priority to one of the candidates. This is not using the error prone AddNodeOverlap method, but composite shapes. One has to create the unprioritized shape as the subtraction of the original one and the shape of the node to prioritize, then position this composite shape colume with identity matrix. The prioritized volume should be added as node using the same local matrix as the one used in the subtraction operation. The matrix itself has to be declared shared via SetShared() method. Added few parameters to the RandomRays method.

Revision 44557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 09:25:52 2012 UTC (2 years, 7 months ago) by agheata
File length: 105111 byte(s)
Diff to previous 42982
Large chunk of coverity fixes

Revision 42982 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 13 10:21:23 2012 UTC (2 years, 11 months ago) by agheata
File length: 104994 byte(s)
Diff to previous 41891
Added support structure TGeoStateInfo to communicate stateful navigation data internally. Fully removed locking from TGeoManager and TGeoVoxelFinder.

Revision 41891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 10 22:46:31 2011 UTC (3 years, 2 months ago) by pcanal
File length: 104741 byte(s)
Diff to previous 41341
Remove all assigned but unused variable discovered by g++ 4.6.1 (including one completely nop function)

Revision 41341 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 11 14:58:29 2011 UTC (3 years, 3 months ago) by agheata
File length: 104791 byte(s)
Diff to previous 39625
Adding thread id as parameter to methods of TGeoVoxelFinder to avoid passing through the serial TGeoManager::ThreadId. This recovers quite good the scalability with the number of threads

Revision 39625 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 9 08:17:13 2011 UTC (3 years, 7 months ago) by agheata
File length: 104702 byte(s)
Diff to previous 39340
Random generator is not recreated anymore

Revision 39340 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 23 13:04:56 2011 UTC (3 years, 8 months ago) by agheata
File length: 104986 byte(s)
Diff to previous 39184
Test suite #3 for normals

Revision 39184 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 13 14:51:05 2011 UTC (3 years, 8 months ago) by agheata
File length: 100848 byte(s)
Diff to previous 39111
small tolerance fix in TGeoEltu::DistFromOutside

Revision 39111 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 5 13:10:07 2011 UTC (3 years, 8 months ago) by agheata
File length: 100215 byte(s)
Diff to previous 39102
Fix in DistFromOutside

Revision 39102 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 4 16:36:37 2011 UTC (3 years, 8 months ago) by agheata
File length: 100195 byte(s)
Diff to previous 39081
New safety test for shapes added. Fix for TGeoArb8::Safety()

Revision 39081 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 3 15:38:02 2011 UTC (3 years, 8 months ago) by agheata
File length: 97197 byte(s)
Diff to previous 39064
Fixed sphere DistFromInside/Outside for points starting from boundaries

Revision 39064 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 2 11:52:08 2011 UTC (3 years, 8 months ago) by agheata
File length: 97152 byte(s)
Diff to previous 39033
fixed paraboloid DistFromInside/Outside for points on the boundary

Revision 39033 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 27 07:21:16 2011 UTC (3 years, 8 months ago) by agheata
File length: 97333 byte(s)
Diff to previous 39021
fix for warning

Revision 39021 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 14:25:40 2011 UTC (3 years, 9 months ago) by agheata
File length: 97343 byte(s)
Diff to previous 39018
Fixed TGeoArb8::DistFromInside when point is on the boundary. Extended TGeoChecker::CheckShape to detect errors when starting from boundaries

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: 95734 byte(s)
Diff to previous 36535
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 36535 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 14:41:54 2010 UTC (4 years, 2 months ago) by agheata
File length: 89701 byte(s)
Diff to previous 35702
Changed Form() to TString::Format() everywhere

Revision 35702 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 24 09:10:38 2010 UTC (4 years, 4 months ago) by agheata
File length: 89602 byte(s)
Diff to previous 35696
Another set of Dangerous_coding Coverity fixes

Revision 35696 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 24 07:13:47 2010 UTC (4 years, 4 months ago) by agheata
File length: 89566 byte(s)
Diff to previous 35667
Added missing Begin_Html

Revision 35667 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 14:49:56 2010 UTC (4 years, 4 months ago) by agheata
File length: 89581 byte(s)
Diff to previous 35653
Fixed deadcode issue.

Revision 35653 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 13:48:47 2010 UTC (4 years, 4 months ago) by agheata
File length: 89694 byte(s)
Diff to previous 35642
Fixed dead code.

Revision 35642 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 12:45:29 2010 UTC (4 years, 4 months ago) by agheata
File length: 89694 byte(s)
Diff to previous 35640
Fixed unused variables

Revision 35640 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 12:38:24 2010 UTC (4 years, 4 months ago) by agheata
File length: 89747 byte(s)
Diff to previous 34887
Fixed unused variables

Revision 34887 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 14:32:38 2010 UTC (4 years, 5 months ago) by agheata
File length: 89741 byte(s)
Diff to previous 32735
Fixed potential double-delete reported by Coverity #17217

Revision 32735 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 24 16:27:32 2010 UTC (4 years, 10 months ago) by brun
File length: 89671 byte(s)
Diff to previous 32690
From Andrei:
fixes computation of the normal for scaled shapes and modified the RandomRays algorithm to visualize also the normals to crossed surfaces. Addresses the bug report on roottalk by Corey Reed.

Revision 32690 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 21 08:47:56 2010 UTC (4 years, 10 months ago) by brun
File length: 88728 byte(s)
Diff to previous 31612
From Andrei:
This patch implements SetPoints for composite shapes, allowing to have a mesh of points for composites. Not having this was limiting the overlap checker to non-composites.

Revision 31612 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 07:02:08 2009 UTC (5 years, 1 month ago) by brun
File length: 89186 byte(s)
Diff to previous 27770
Fix wrong use of "delete" instead of "delete []" (coverity)

Revision 27770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 13 17:02:53 2009 UTC (5 years, 10 months ago) by brun
File length: 89174 byte(s)
Diff to previous 27749
From Andrei:
- The patch highly improves the numerical precision in solving the quartic equation for computing the distance to boundaries. The errors of the distance computation typically peaked at 1E-6 with the old algorithm, but in certain conditions could be as high as 1E-1 to 1E0. The new algorithm makes the precision better than 1E-9 in all cases (typical for most shapes)

Revision 27749 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 10 15:23:52 2009 UTC (5 years, 10 months ago) by brun
File length: 89114 byte(s)
Diff to previous 26157
From Andrei:
 New method void TGeoManager::CheckBoundaryErrors(Int_t ntracks, Double_t radius). Checks how much the point propagated from a random position and direction to the boundary given by FindNextBoundary() has to be pushed forward or pulled backward to numerically cross (or not cross) the boundary. The optional radius can be used to limit the search volume. The method generates a reference with the points with pushes/pulls lower than 1E-5. This can be played back using the method: void TGeoManager::CheckBoundaryReference(Int_t icheck). If icheck is non-negative, the shape for which the crossing failed is drawn with the starting point in red and the extrapolated point to boundary (+/- failing push/pull) in yellow.

Currently the method gives a distribution with tails at ~1E-5. Investigating these I could not find other than truncation errors effects (that can get surprisingly big) in very rare cases and which need further in-depth investigation to see if they can be due to flaws in shape algorithms or they are just numerical "accidents". There is no obvious error left (at least in case of ALICE geometry)

Revision 26157 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 12 08:10:08 2008 UTC (6 years, 2 months ago) by brun
File length: 81220 byte(s)
Diff to previous 25858
From Andrei:
a minor protection in the progress bar when checking overlaps.

Revision 25858 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 17 16:32:05 2008 UTC (6 years, 3 months ago) by brun
File length: 81172 byte(s)
Diff to previous 25123
From Andrei:
a small fix for the progress bar during overlap checking

Revision 25123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 12 09:59:46 2008 UTC (6 years, 5 months ago) by brun
File length: 81113 byte(s)
Diff to previous 24968
From Andrei:
- outline sampling points used for overlap checking were wrongly generated in case navigation/drawing methods were invoked before CheckOverlaps()
- new method TGeoManager::SetNmeshPoints(npoints) can be used to modify the number of mesh points used in overlap checking. Default value is 1000.
- prototype of TGeoPhysicalNode::Align(TGeoMatrix *, TGeoShape *, Bool_t check, Double_t ovlp) changed - last parameter added. Representing the overlap tolerance in case the physical node is aligned with check=true option. Default value 0.001 (10 microns). In this case only the overlaps of the aligned object (or daughters if an assembly) are reported.
- Checking only overlaps of a single node possible by calling: TGeoManager::SetCheckedNode(TGeoNode *node). User responsibility to restore checked node to NULL after the check.

Revision 24968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 28 20:39:24 2008 UTC (6 years, 5 months ago) by brun
File length: 76126 byte(s)
Diff to previous 24870
From Andrei:
fix for the bug mentioned by Christian + a protection in TGeoXtru for not allowing holes in the polygon + some refinement in the overlap checker progress bar.

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: 73106 byte(s)
Diff to previous 24419
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 24419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 13:40:38 2008 UTC (6 years, 7 months ago) by brun
File length: 76145 byte(s)
Diff to previous 23810
From Andrei:
a patch that unifies the overlap checking methods by sampling via the standard. There is also a new method introduced to sample points on shapes surface - implemented only for TGeoBBox for the  moment.

Revision 23810 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 13 07:40:06 2008 UTC (6 years, 8 months ago) by brun
File length: 75733 byte(s)
Diff to previous 23809
Comment an unused parameter ovlp

Revision 23809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 13 07:34:38 2008 UTC (6 years, 8 months ago) by brun
File length: 75727 byte(s)
Diff to previous 22923
From Andrei:
- adding a method AddTrack(TVirtualGeoTrack *) to TGeoManager.
- TGeoBoolNode::Safety(point, in) returns now 0. in case the tracking point is not matching the input <in> condition - caused track propagation outside geometry limits with g4root
- Improvements in checking overlaps by sampling for TGeoNode - using now voxels.

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

Revision 22419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 75698 byte(s)
Diff to previous 21569
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed. 

Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included. 

Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.

Revision 21569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 29 15:56:30 2007 UTC (7 years ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 75677 byte(s)
Diff to previous 21494
From Bertrand:
- TGeoChecker.cxx: suppress warning C4138: '*/' found outside of comment

Revision 21494 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 15:50:40 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 75676 byte(s)
Diff to previous 21425
Update to the class docs and index.txt files.

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/geompainter/src/TGeoChecker.cxx
File length: 75615 byte(s)
Diff to previous 20882
From Andrei:
Improve the documentation layout such that THtml makes a better rendering.

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/geompainter/src/TGeoChecker.cxx
File length: 77571 byte(s)
Diff to previous 20416
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 20416 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 19 14:56:15 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 77571 byte(s)
Diff to previous 19826
From Andrei:
some modifications to the progress bar and included it when calling gGeoManager->CheckOverlaps()

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/geompainter/src/TGeoChecker.cxx
File length: 77155 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/geompainter/src/TGeoChecker.cxx
File length: 77209 byte(s)
Diff to previous 19777
remove :$ from tag line

Revision 19777 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 10 14:28:49 2007 UTC (7 years, 4 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 77219 byte(s)
Diff to previous 19662
From Andrei:
a diff with a new class TGeoUniformVoxels that is supposed to increase navigation speed. For the moment it does not - there is still some work to be done - so it is not yet used. The patch contains also a fix for the problem of visualization of daughters of composites.

Revision 19662 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 21 16:01:25 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 77219 byte(s)
Diff to previous 19652
From Andrei:
This patch adds a text progress bar to the CheckGeometryFull() method.

Revision 19652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 20 14:00:56 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 74685 byte(s)
Diff to previous 19650
From Andrei:
Extend functionality of overlap checker and performance analyzer by introducing a new function:
void CheckGeometryFull(Int_t ntracks=10000, Double_t vx=0., Double_t vy=0., Double_t vz=0., Option_t *option="ob")

The method is doing a 4 stage check:
- if option contains 'o': Optional overlap checkings (by sampling and by mesh).
- if option contains 'b': Optional boundary crossing check + timing per volume.

STAGE 1: extensive overlap checking by sampling per volume. Stdout need to be checked by user to get report, then TGeoVolume::CheckOverlaps(0.01, "s") can be called for the suspicious volumes.

STAGE2 : normal overlap checking using the shapes mesh - fills the list of overlaps.

STAGE3 : shooting NRAYS rays from VERTEX and counting the total number of crossings per volume (rays propagated from boundary to boundary until
geometry exit). Timing computed and results stored in a histo.

STAGE4 : shooting 1 mil. random rays inside EACH volume and calling FindNextBoundary() + Safety() for each call. The timing is normalized by the number of crossings computed at stage 2 and presented as percentage.
  One can get a picture on which are the most "burned" volumes during
transportation from geometry point of view. Another plot of the timing per  volume vs. number of daughters is produced.

 All histos are saved in the file statistics.root

Revision 19650 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 20 08:49:08 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 63939 byte(s)
Diff to previous 18989
From Andrei:
- TGeoPNEntry class has now an additional pointer to the original matrix, which is set in the class ctor and works provided that all PNEntry objects are created BEFORE applying any alignment. The getter for this original (LOCAL) matrix of the last TGeoNode in the branch is:
   TGeoMatrix *TGeoPNEntry::GetMatrixOrig()

- Modified method:
   TGeoPNEntry * TGeoManager::SetAlignableEntry(const char *unique_name, const char *path, Int_t uid=-1);
 If UID is provided, one can do a (fast) retrieval by UID (based on binary search):
   TGeoPNEntry *TGeoManager::GetAlignableEntryByUID(Int_t uid) const;

The UID mapping becomes persistent with the geometry. To retrieve the number of entries having (or not) uid's defined, I modified:
   Int_t TGeoManager::GetNAlignable(Bool_t with_uid=kFALSE) const

- Added method TGeoOverlap::SampleOverlap(Int_t npoints) for overlaps/extrusions in the context menu of overlaps. This normally produces a picture of the overlap having random red points in the overlapping region. Helps a lot to check how big the overlap is (prints the volume of the overlapping region) and to validate if the overlap is valid or not.

- TGeoVolume::CheckOverlaps(Double_t ovlp, Option_t *option) produces now overlap objects in the list of overlaps of TGeoManager in case option="s" (sampling). Very useful for doing an extensive check on ovelaps as an alternative to the fast method.
 Note: when checking assembly vs. assembly (or volume) only one overlap is reported (the check does not show which node in the assembly produced the overlap). A graphical output giving hints is still provided in this case.

Revision 18989 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 8 15:46:30 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 63110 byte(s)
Diff to previous 18553
From Andrei & Mihaela:
I managed together with Mihaela to split out all navigation functionality out of TGeoManager into a new class TGeoNavigator (attached diff, .h and .cxx). The changes are fully backward compatible and did not require modifying the streamer of TGeoManager. We have tested with:
- /roottest/root/io/geo - the reference changes a bit (name of a class)
- aliroot with G3
- /test/stressGeometry

New feature: one has a default navigator for a geometry but may add several others for parallel navigation:

TGeoNavigator *navig = new TGeoNavigator(gGeoManager);
Int_t inav = gGeoManager->AddNavigator(navig);
gGeoManager->SetCurrentNavigator(inav);
.... and then switch back to the default navigator:
gGeoManager->SetCurrentNavigator(0);

One may also derive from TGeoNavigator and implement its own navigation (I doubt that this will ever happen but you never know...)

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/geompainter/src/TGeoChecker.cxx
File length: 63062 byte(s)
Diff to previous 17338
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 17338 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 16:10:11 2007 UTC (8 years ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 58173 byte(s)
Diff to previous 16680
Remove TMath.h from TH1.h and add TMath.h to all files previously assuming TMath.h
via TH1.h
This should complete the changes related to TMath.

Revision 16680 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 3 21:22:32 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 58154 byte(s)
Diff to previous 14556
From Andrei:
1. Possibility to export/import TGeoVolume objects in a similar way as we
can do it for TGeoManager class. Note that for the moment only the .root and
.C formats are supported (for .gdml I don't know how to do it). One can now
import several volumes from file(s) and connect them to the same TGeoManager
object:

Exporting is straightforward:
   module1->Export("file.root"); // by default file is overwritten
   module2->Export("file.root","","update"); // to the same file

Importing will append the volume to the current TGeoManager or will create
one:
   TGeoManager *geom = new TGeoManager("myGeom", "");
   TGeoVolume *top = geom->MakeBox(...);
   geom->SetTopVolume(top);
   TGeoVolume *module1 = TGeoVolume::Import("file.root", "MOD1"); //
name of volume or key (depending on export usage)
   TGeoVolume *module2 = TGeoVolume::Import("file.root", "MOD2");
   top->AddNode(module1, 1, new TGeoTranslation(0,0,100));
   top->AddNode(module2, 1, new TGeoTranslation(0,0,-100));
   geom->CloseGeometry(); // One should close himself the geometry

2. Fix in the overlap checker and functionality extension:
   TGeoVolume::CheckOverlaps(Double_t ovlp, Option_t *option)
uses now option="d" or option="d<number>" to perform overlap checking by
sampling the volume with <number> random points (default 1 mil.). It
produces also a picture showing in red the overlapping region and estimates
the volume of the overlaps.

3. TGeoMaterial class takes now as optional arguments the material state,
temperature and pressure for compatibility with GEANT4

4. Few modifications of some navigation flags needed to run correctly G4
navigation interface.

Revision 14556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 6 09:37:14 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 55014 byte(s)
Diff to previous 14372
From Andrei
Improve speed of the overlap checker

Revision 14372 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 22 11:18:13 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 54756 byte(s)
Diff to previous 14118
From Andrei:
- after alignment, in case of nested assemblies all parent assemblies need to be
re-voxelized.

Revision 14118 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 28 10:57:12 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 54740 byte(s)
Diff to previous 14093
From Andrei:
small fix for overlap checking.

Revision 14093 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 23 13:23:08 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 53684 byte(s)
Diff to previous 13960
From Andrei:
- simplification of TGeoOverlap class: derived classes TGeoNodeOverlap and
TGeoExtrusion removed
- The overlap checker perform the check also for assembly candidates
- Improvements in TGeoIterator class
- Minor fix in TGeoVoxelFinder class

Revision 13960 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 31 14:02:36 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 51111 byte(s)
Diff to previous 13874
From Andrei:
1. TGeoManager::SetNodeSelectable(flag); - allows user to make nodes selected in the
pad rather that volumes(default)
2. TGeoManager::ReplaceVolume(TGeoVolume *vorig, TGeoVolume *vnew); - allows
replacement of all occurances of VORIG with VNEW in the geometry tree. VORIG is not
removed from the list of volumes, but all nodes referencing it as their volume or
mother will reference instead VNEW.
3. static TGeoVolumeAssembly::MakeAssemblyFromVolume(TGeoVolume *vorig); - creates a
sort of clone of a normal volume (same daughters inside), but this will be an
assembly. This method can be used togeather with ReplaceVolume() to change some
virtual conainers in a closed geometry with assemblies.
4. TGeoVolume::RemoveNode(TGeoNode *node) - will safely remove a daughter node of a
volume, even if the geometry is closed. Geometry is valid for navigation afterwards.

Revision 13874 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 20 10:35:18 2006 UTC (9 years ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 51107 byte(s)
Diff to previous 13303
From Andrei:
-fix for the bug in TGeoHMatrix reported at:
   http://savannah.cern.ch/bugs/?func=detailitem&item_id=14579

-fix for the geometry checker in case of composites: now the checker
will report overlaps between composite/non-composite.
The only case not reported is composite/composite, where the checker
will skip.

Revision 13303 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 21 13:52:50 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 50372 byte(s)
Diff to previous 13282
From Andrei:
a patch for the memory leaks found by Jan Musinski

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/geompainter/src/TGeoChecker.cxx
File length: 50534 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/geompainter/src/TGeoChecker.cxx
File length: 50655 byte(s)
Diff to previous 12847
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 12847 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 26 12:14:07 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 50221 byte(s)
Diff to previous 12640
From Andrei:
a patch that performs a check to see if the pcon/pgon sections are defined
in increasing Z order. If not, the arrays fZ, fRmin, fRmax are inverted to have the
good ordering. One should still be consistent in the section definition order and to
define as last section the one with the maximum index.

Revision 12640 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 4 19:24:00 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 50221 byte(s)
Diff to previous 12627
Remove unused structure X3DPoints.

Revision 12627 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 4 11:50:47 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 50250 byte(s)
Diff to previous 11664
Fix coding conventions violations.

Revision 11664 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 07:53:27 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 49760 byte(s)
Diff to previous 11272
Implement changes in the TGeoPainter and TGeoChecker such that one
can draw geometries from several TGeoManagers.
The following mods have been made:

-new data member fGeoManager in TGeoVolume.
 When a volume is created fGeoManager is set to the current gGeoManager.
 When a volume is drawn, a TGeoPainter object is created in its own fGeoManager.
- new function TGeoVolume::GetGeoManager() const

-The TVirtualGeoPainter and TGeoPainter have now a constructor with:
   TVirtualGeoPainter(TGeoManager *manager)
   TGeoPainter(TGeoManager *manager)

-The TGeoManager::GetGeoPainter is now calling directly the plugin manager
  to create a TGeoPainter if necessary.

-In TGeoVolume, all occurences of gGeoManager replaced by fGeoManager.

-In TGeoChecker and TGeoPainter, the existing member fGeom has been
 renamed fGeoManager and all occurences of gGeoManager replaced by fGeoManager.

-In TGeoOverlap all occurences of gGeoManager are creplaced by
  fVolume->GetGeoManager.

-In rootrc.in mod for calling TGeoPainter with the new argument TGeoManager*.

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/geompainter/src/TGeoChecker.cxx
File length: 49047 byte(s)
Diff to previous 10621
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 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/geompainter/src/TGeoChecker.cxx
File length: 48984 byte(s)
Diff to previous 7724
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 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/geompainter/src/TGeoChecker.cxx
File length: 48789 byte(s)
Diff to previous 6725
From Andrei

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

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/geompainter/src/TGeoChecker.cxx
File length: 48796 byte(s)
Diff to previous 6144
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 6144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 18 15:37:36 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 46772 byte(s)
Diff to previous 6136
From Andrei;
TGeoManager :
 - Safety() fully implemented using voxelization
 - FindNextBoundary() modified in order to compute safety only when
needed (when a value MAXSTEP representing the physical step is given as
input).
TGeoBBox :
  - correction for points exactly on box boundary for DistToIn()
TGeoVoxelFinder :
- fast check if distance to the voxel corresponding to a given node is
smaller than a input value - used in computing safety and distance to
next boundary;
TGeoChecker:
- CheckPoint() changed to use new Safety().

Revision 6136 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 17 11:57:31 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 47327 byte(s)
Diff to previous 6085
m andrei;
TGeoManager :
 - added TGeoManager::Safety() that computes the global safety for the
current point. This is just the first implementation, since it does not
use yet voxelization. This will be needed for the VMC because for the
time being safety is computed just for the crossed volumes along the
current direction plus the current volume, which of course is not enough
- finding the closest neighbour for a given point has to use a different
algorithm.
 - added weight estimation for the top volume

TGeoMaterial :
 - material index in the list of materials added as data member (as for
volumes) - I needed this for weight computation, but it will be helpfull
for any other analysis based on material indexing.

TGeoVolume :
 - weight estimation method in the context menu of volumes : can be
verbose (default) or not and takes as argument the desired precision.
Prints error (1 x SIGMA)

TGeoChecker:
 - implementation of weight estimation based on sampling random points
in the bounding box of a volume. Materials with rho<0.01 g/cm3 (mostly
gases) ignored due to the fact that we generally do not want to weight
the air in the top volume container (it can have quite significant mass)

other modified classes just provide redirection of Weight() method to
the geopainter package.

Revision 6085 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 11 08:48:21 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 44781 byte(s)
Diff to previous 6083
From Andrei;
add method TGeoManager::PrintOverlaps
fix compilation warnings

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/geompainter/src/TGeoChecker.cxx
File length: 44416 byte(s)
Diff to previous 6080
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 6080 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 10 09:55:21 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 43246 byte(s)
Diff to previous 6068
Remove reference to TGeoShape::kBig (problem with dlls on win32)

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/geompainter/src/TGeoChecker.cxx
File length: 43238 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/geompainter/src/TGeoChecker.cxx
File length: 38615 byte(s)
Diff to previous 5918
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 5918 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 15 18:48:16 2003 UTC (12 years ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 37892 byte(s)
Diff to previous 5913
*** empty log message ***

Revision 5913 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 14 16:13:35 2003 UTC (12 years ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 37892 byte(s)
Diff to previous 5798
Bug fix by Andrei

Revision 5798 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 11 17:10:20 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 38381 byte(s)
Diff to previous 5788
From Andrei:
attached the last version, with bug fixes in tracking. Now you can do
lego plots for everything in alice. It does not do extra steps (except
very seldom in ITS in som very thin tubes - 1 extra step to cross). Much
more stable. I temporarly disabled TGeoVolume::CheckGeometry from the
context menu of volumes since it seems to have a bug that I need to fix.
 Much better version in computing distances.

Revision 5788 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 14:34:50 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40155 byte(s)
Diff to previous 5782
From Andrei:
solved some extra bugs so that all lego plots in non-MANY volumes
looks fine.

Revision 5782 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 08:40:15 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40151 byte(s)
Diff to previous 5780
In TGeoChecker::LegoPlot remove unused variable is_entering

Revision 5780 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 07:52:33 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40202 byte(s)
Diff to previous 5758
Fixes by Andrei for the legoplot option.

Revision 5758 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 6 16:45:03 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40020 byte(s)
Diff to previous 5724
From Andrei:
New patch for shape algorithms, including :
- bug fixes in TGeoPgon::DistToIn()
- new algorithm by Mihaela for computing distances to a sphere (it was
missing).

So, now all algorithms per shape for computing distances should be "in
shape", at least as far as we have tested. Clearly some problems still
remain with the global algorithm including MANY's. At least now the lego
plot seem to work for the rootgeom example (shooting in /TOP/Replica
produces a nice plot). Obviously we will eventually find other bugs, but
the version as it is now seems to work reasonably good.

Revision 5724 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 3 16:10:27 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40596 byte(s)
Diff to previous 5723
New version of TGeoChecker removing several compiler warnings on SGI/CC

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/geompainter/src/TGeoChecker.cxx
File length: 40759 byte(s)
Diff to previous 5690
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 5690 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 28 08:06:57 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40381 byte(s)
Diff to previous 5621
Remove unused variables

Revision 5621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 20 08:55:11 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 40405 byte(s)
Diff to previous 5454
Following improvements by Andrei Gheata:

1. gpad - containing a modified src/TPad.cxx (notification to TView
class when resizing the pad and having perspective view)
2. base - containing modified TView.h/.cxx
3. geom, geompainter - modifications to geometry classes (perspective
view support + some bug fixes in shape algorithms)

 New features :
 - First implementation of TGeoChecker::CheckGeometry() by Mihaela : it
can be called from the volume context menu and for the time being just
draws the boundary intersections not matching on the way back and forth
(no histogram generated). Anyway, we discovered by using it that we have
to correct several bugs in the shapes DistToIn/Out algorithms ... :-(
- Perspective view fully implemented. Activated with TView(11) - this is
the default now for the new geometry classes. For all other views
(instantiated usually with TView(1)) one can switch parralel/perspective
from TView context menu.
- Navigation inside geometries based on perspective view : just draw
some geometry, then double-click on volumes in the pad - you will get a
nice grab-focus effect (specially if the number of volumes on screen is
relatively small)
- navigation keys : zoom in/out, move left/right/up/down exactly like in x3d
- resizing of pad and drawing of axes in TView supported - aspect ratio
always kept.

Revision 5454 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 22 07:43:12 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 29895 byte(s)
Diff to previous 5443
A few fixes to avoid compiler warnings

Revision 5443 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 21 15:21:13 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 29900 byte(s)
Diff to previous 5427
Upgrade of the geom classes by Andrei:
- improvements in the drawing mechanism (nodes can also be made
invisible, having higher priority than volumes;
- possibility of simple phi cut in TGeoManager::SetPhiRange(phimin, phimax)
  - by default the phi range is (0, 360) - no cut performed
 - setting different values for phimin, phimax will make invisible the
nodes having the origin in this range;

- documentation updated for TGeoArb8 class (picture in /gif directory)

Revision 5427 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 14 16:11:14 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 29900 byte(s)
Diff to previous 5426
Fix typo from Andrei

Revision 5426 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 13 15:45:24 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 29901 byte(s)
Diff to previous 5419
From Andrei:
 I have made a few corrections related to TGeoManager registration to
the browser and to the TGeoChecker::LegoPlot. Also a small fix in
TGeoPgon class. Change the default number of bins for lego plots.

Revision 5419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 11 16:41:54 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 29805 byte(s)
Diff to previous 5407
From Andrei,
  - bug fix in TGeoPgon for finding next boundary
 - bug fix in retrieving saved paths (affected "Where am I?" for MANY
geometries
  - support for tracking algorithm with MANY's
  - improvements in raytracing and lego plots.

Revision 5407 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 9 12:57:40 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 28938 byte(s)
Diff to previous 5354
Add a tentative prototype for producing the lego plot of radiation length
in function of theta and phi.

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/geompainter/src/TGeoChecker.cxx
File length: 26284 byte(s)
Diff to previous 4961
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 4961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 17 14:22:54 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 21398 byte(s)
Diff to previous 4956
Remove some unused variables

Revision 4956 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 17 13:27:59 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 21688 byte(s)
Diff to previous 4918
New version of the geometry package from Andrei. Many comments changed.

Revision 4918 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Jul 15 15:32:25 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geompainter/src/TGeoChecker.cxx
File length: 20859 byte(s)
New version of the geometry package by Andrei.
All graphics moved to geompainter (hopefully)

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