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

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

Parent Directory Parent Directory


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

Revision 46376 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 8 06:38:11 2012 UTC (2 years, 3 months ago) by agheata
File length: 86741 byte(s)
Diff to previous 45163
Removed unnecessary normalization from TGeoGenTrans

Revision 45163 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 23 14:41:14 2012 UTC (2 years, 6 months ago) by agheata
File length: 86723 byte(s)
Diff to previous 44557
Added TGeoManager::fIsGeomCleaning flag to avoid useless iterations in the shape destructor

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: 86728 byte(s)
Diff to previous 44507
Large chunk of coverity fixes

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: 86256 byte(s)
Diff to previous 40116
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 40116 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 4 12:00:32 2011 UTC (3 years, 6 months ago) by agheata
File length: 86096 byte(s)
Diff to previous 36535
Allow creating and accessing transparently a different list of navigators for each calling thread. Must be initialized via TGeoManager::SetMultiThread()

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: 85712 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: 85690 byte(s)
Diff to previous 35677
Another set of Dangerous_coding Coverity fixes

Revision 35677 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 15:22:37 2010 UTC (4 years, 4 months ago) by agheata
File length: 85818 byte(s)
Diff to previous 22923
Small protection added after error.

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

Revision 21853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 25 11:17:04 2008 UTC (7 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 85804 byte(s)
Diff to previous 20882
From Andrei:
I fixed the problem of double delete of a matrix when exporting as .gdml or .C . Also added a small optimization in copying matrices that seems to have a non-negligible effect on the speed of stressGeometry

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/TGeoMatrix.cxx
File length: 85326 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/TGeoMatrix.cxx
File length: 85326 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/TGeoMatrix.cxx
File length: 85379 byte(s)
Diff to previous 17306
remove :$ from tag line

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/TGeoMatrix.cxx
File length: 85389 byte(s)
Diff to previous 16573
   TMath::Abs, TMath::Min, TMath::Max, TMath::Sign, TMath::Range
These functions are unfortunately not defined in a standard way in std::

This include is referenced by a new version of TMath.h.
As a result, TMath.h is back compatible with the previous version.

TMathBase.h is used in place of TMath.h in all the classes
that will go into the future miniCore library.
TMath.h and the TMath implementation will go into a new math sub-directory.

TString.h uses TMathBase.h instead of TMath.h.
As a result, it was necessary to include "TMath.h" in some classes
assuming that TMath was included via TString and using other functions
than the ones defined in TMathBase.h
 ----------------------------------------------------------------------

Revision 16573 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 20 08:38:43 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 85370 byte(s)
Diff to previous 15672
From Andrei:
a big chunk of modifications that mainly allow converting a geometry
containing reflection matrices into a reflection-free one.
This is done via a mechanism implemented in TGeoManager/TGeoVolume/TGeoScaledShape
classes which can be invoked using:
TGeoManager::ConvertReflections() method once the geometry is closed.
This is required for normal GEANT4 operation and is to be used only
in G4 navigation context.

Besides that, I made some changes which allow now controlling visibility
of nodes/volumes directly from the TBrowser (check-boxes).
This was not really working before.

Revision 15672 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 77650 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/TGeoMatrix.cxx
File length: 77618 byte(s)
Diff to previous 14859
Fix coding conventions violations

Revision 14859 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 27 07:46:30 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 77583 byte(s)
Diff to previous 14832
From Andrei:
Fix a bug in TGeoRotation::Determinant (thanks to Yuri Fisiak)

Revision 14832 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 25 09:38:27 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 77583 byte(s)
Diff to previous 14747
From Andrei:
few modifications including a fix to a serious problem: in my last patch
for TGeoPatternFinder.cxx class I removed by mistake a line resulting in the fact that
no division on Z axis is seen anymore by tracking!!


Few other modifications:
- TGeoManager::Edit() to invoke the geometry builder plugin if existing (Mihaela)
- few fixes in the painter for the case when the geometry is not closed
- a small correction in TGeoManager related to MANY's

Revision 14747 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 09:11:57 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 76971 byte(s)
Diff to previous 14742
From Andrei:
Add several protections in case classes like TGeoMatrix or TGeoHelix
are used without creating a TGeoManager.

Revision 14742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 18 16:10:35 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 76950 byte(s)
Diff to previous 14611
Protect the TGeoHMatrix assignement operator against a possible null pointer.

Revision 14611 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 10 08:38:43 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 76937 byte(s)
Diff to previous 14372
From Andrei:
- Navigation in assembly + MANY do not post warnings anymore
- Fixes in SavePrimitive (from Mihaela) for TGeoHMatrix and TGeoVolume when having
several with the same name.

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/geom/src/TGeoMatrix.cxx
File length: 76935 byte(s)
Diff to previous 14093
From Andrei:
- after alignment, in case of nested assemblies all parent assemblies need to be
re-voxelized.

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/geom/src/TGeoMatrix.cxx
File length: 76900 byte(s)
Diff to previous 13874
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 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/geom/src/TGeoMatrix.cxx
File length: 76067 byte(s)
Diff to previous 13297
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 13297 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 21 09:31:47 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 75605 byte(s)
Diff to previous 13282
From Andrei:
a patch fixing:
- memory leak found by Federico
- last code rule 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/TGeoMatrix.cxx
File length: 75528 byte(s)
Diff to previous 12961
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

Revision 12961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 14 14:55:48 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 74979 byte(s)
Diff to previous 12883
From Andrei:
- fix in TGeoSphere::DistFromOutside()
- fix for a memory leak in TGeoManager class (reported by Dmitry)
- fix for setting the identity bit for TGeoCombiTrans (reported by Ivana)

Revision 12883 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 06:54:51 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 74841 byte(s)
Diff to previous 12802
From Andrei:
new class TGeoScaledShape + the modifications
needed to compile it. There are also some minor fixes.

A scaled shape can be any basic or composite shape for which you
apply a scaling transformation. If a volume has a scaled shape it
does not imply that its nodes are scaled (the scale applies ONLY
to the shape itself). To define a scaled shape:

  TGeoShape *non_scaled = ...; // define a shape
  TGeoScale *scale = new TGeoScale(sx,sy,sz);
    // sx,sy,sz are scaling factors on each axis (non-zero)
  TGeoShape *scaled_shape = new TGeoScaledShape(non_scaled, scale);
   // the scaled shape is ready to use

Revision 12802 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 21 16:27:01 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72592 byte(s)
Diff to previous 12795
From Andrei:
a fix in TGeoHMatrix (thanks to Ivana)

Operations like:
TGeoHMatrix h = m1*m2*m3

failed if one of the components was an identity matrix due to a missing initialization
sequence in TGeoHMatrix::operator=
Fixed and tested to work properly now.

Revision 12795 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 21 12:12:12 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72625 byte(s)
Diff to previous 12390
From Andrei:
a small change in TGeoRotation needed by Cvetan. It is backward compatible
and adds extra functionality to TGeoRotation::GetPhiRotation(Bool_t fixX=kFALSE)

The meaning of fixX is:

- if the rotation is a pure Z rotation, fixX does not matter;
- fixX = true: result is the phi angle of the projection of the rotated X axis in the
un-rotated XY
- fixX = false: result is the phi angle of the projection of the rotated Y axis - 90
degrees

Revision 12390 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 27 12:08:22 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72190 byte(s)
Diff to previous 12229
From Andrei:
Fix a problem in TGeoRotation::GetPhiRotation()

Revision 12229 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 30 13:09:30 2005 UTC (9 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72190 byte(s)
Diff to previous 11487
From Andrei Gheata:
a patch fixing a potential double delete for the rotation
component of TGeoCombiTrans. Fixes the problem posted in the forum:

http://root.cern.ch/phpBB2/viewtopic.php?t=2170

Revision 11487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 5 08:54:12 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72143 byte(s)
Diff to previous 11485
From Mihaela Gheata:
 some additional fixes. CMS muon is now ok (some rotations in
TGeoCombiTrans were not registered)
I also fixed SavePrimitive for composite shapes - tested for csgdemo.C
(the logic there was not at all working). I hope it works also with lhcb
- if not, please send me the geometry file. There is also a fix in
TGeoXtru::SavePrimitive.

 For testing SaveAs, you should regenerate the tested geometries (not
importing the .root file generated before these changes). Otherwise some
matrices can still get wrong.

Revision 11485 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 4 15:00:39 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 72189 byte(s)
Diff to previous 11204
From Mihaela Gheata:
I attached the diffs for few fixes that I made for SavePrimitive:
- fix in TGeoCone::SavePrimitive
- Added support for gsposp in TGeoVolume (now works with ALICE geometry)
- fix in TGeoCombiTrans for correctly registering rotation component.
- modified TGeoManager::Export() to export geometry as C++ macro:
  for file names ending with .root work as before
  other extensions (e.g. .C) saves as C++ macro

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/TGeoMatrix.cxx
File length: 72453 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/TGeoMatrix.cxx
File length: 72450 byte(s)
Diff to previous 11028
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 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/TGeoMatrix.cxx
File length: 70330 byte(s)
Diff to previous 10925
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 10925 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 14 15:10:13 2005 UTC (10 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 66858 byte(s)
Diff to previous 10923
From Andrei Gheata:
The constructor TGeoHMatrix(name) was creating a matrix with the rotation bit set. Affected matrix multiplication optimization during navigation.

Revision 10923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 14 12:13:03 2005 UTC (10 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 66842 byte(s)
Diff to previous 10914
From Andrei,
Fix a problem reported by Ivana:
"However, I think that introducing these functions
also for TGeoTranslation has not a good sense,
as the result of R * T should not be anymore
TGeoTranslation but TGeoCombiTrans, so you go out
from the "scope" of your object ...
I'd just disable these functions in this case
and give a warning instead."

Revision 10914 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 13 12:07:48 2005 UTC (10 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 67458 byte(s)
Diff to previous 10862
From Andrei Gheata:
According to Ivana's observations/patch, RotateX,Y,Z methods of TGeoMatrix derived classes
perform the corresponding rotations with respect with the master frame. Works now for
TGeoTranslation, TGeoRotation, TGeoCombiTrans and TGeoHMatrix.

Revision 10862 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 4 10:18:28 2005 UTC (10 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 64022 byte(s)
Diff to previous 10703
From Andrei Gheata:
patch preventing copied matrices to get the <registered>
bit set.

Revision 10703 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 7 15:44:10 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63964 byte(s)
Diff to previous 10651
From Andrei.Gheata
When the translation elements are 0, we do not
set any more the translation bit for the corresponding TGeoTranslation
object (recent change for optimization reasons). Then, the problem is
that this specific TGeoCombiTrans ctor was not initializing the
translation elements for this case. I attached the bug fix. Once Rene
will put it in CVS, you can do a ckeckout of
root/geom/src/TGeoMatrix.cxx and regenerate lhcb geometry.

Revision 10651 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 29 22:13:17 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63894 byte(s)
Diff to previous 10224
Fix a bug in TGeoMatrix::GetInverse (Thanks Zhengyun You)

Revision 10224 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 06:40:35 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63902 byte(s)
Diff to previous 9929
the member fRotation was possibly uninitialized in the copy constructors or assignemnt operators.
(thanks Ivana)

Revision 9929 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 6 17:01:11 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63784 byte(s)
Diff to previous 9927
Remove a printf in TGeoRotation::CheckMatrix

Revision 9927 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 6 16:39:02 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63823 byte(s)
Diff to previous 9914
Mods proposed by Ivana.

Revision 9914 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 6 10:23:13 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63244 byte(s)
Diff to previous 9902
From Andrei Gheata
Fix a problem with TGeorotation.

Revision 9902 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 3 16:08:44 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63360 byte(s)
Diff to previous 9899
From  Ivana Hrivnacova

Add missing op = for TGeoMatrix class

Revision 9899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 3 15:30:57 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 63102 byte(s)
Diff to previous 9894
From Andrei Gheata:
The operator == currently ignores the name;
normally one should be able to compare the matrices values even for
different names.

Revision 9894 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 3 13:55:42 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 62966 byte(s)
Diff to previous 9887
From  Ivana Hrivnacova

The assignement operator for the base class was missing in
TGeoCombiTrans &TGeoCombiTrans::operator=(const TGeoMatrix &matrix)

Revision 9887 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 3 12:28:46 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 62928 byte(s)
Diff to previous 8175
From Andrei Gheata;
- assignment operators and ctors(const TGeoMatrix&) for all
transformation types; any type can be assigned to another
  ex: TGeoRotation r("name", 10,20,30);
        TGeoHMatrix h = r;   (h(r) also works)
        TGeoCombiTrans c = h; (c(h) also)
- strict checking of IsTranslation() and IsRotation() used to optimize
TGeoHMatrix::LocalToMaster/MasterToLocal which is heavily used by
navigation (was not really the case before)

- operator == at the level of TGeoMatrix class. Some limitations due to:
  rot * rot.Inverse() != identity      due to arithmetic errors (1E-14)-
the IsRotation() flag for the result remains set. Could be fixed by a
checking procedure but this would be too much time consuming. Therefore
== is guaranteed to work only after assignment/copy operations.

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

Revision 7988 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 23 16:34:13 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 57562 byte(s)
Diff to previous 7931
From Andrei Gheata:
I took a look to the way a rotation is
interpreted from Euler angles and I found that the computation of matrix
elements is not as it supposed to be, resulting in a confusing violation
of the documented convention.
  This is why I fixed it (putting also in the computation of the inverse
matrix)
  I touched also TGeoManager.cxx, fixing a warning (variable not used)

Revision 7931 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 18 16:30:22 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54289 byte(s)
Diff to previous 7930
Fix in TGeoMatrix::MastertoLocal

Revision 7930 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 18 16:19:37 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54337 byte(s)
Diff to previous 7929
A few more sepeed improvements

Revision 7929 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 18 12:31:55 2004 UTC (11 years ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54719 byte(s)
Diff to previous 7724
Speed improvements in many functions. Speed is about 25% in case of CMS ECAL

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/TGeoMatrix.cxx
File length: 55073 byte(s)
Diff to previous 7551
From Andrei

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

Revision 7551 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 10 09:48:19 2003 UTC (11 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54998 byte(s)
Diff to previous 7390
TGeoRotation::MultiplyBy was buggy. Fixed by Sue Kasahara

Revision 7390 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 1 17:53:12 2003 UTC (11 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54991 byte(s)
Diff to previous 7352
From Andrei Gheata:

several bug fixes.

Revision 7352 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 25 14:50:40 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 54955 byte(s)
Diff to previous 7022
From Andrei Gheata:
few modifications in TGeoMatrix class:

- few extra setters
- new methods RotateX/Y/Z()
- a source of memory leaks in TGeoCombiTrans eliminated (the rotation
component is now owned by the class, it can only be copied from other
rotation)

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/TGeoMatrix.cxx
File length: 47626 byte(s)
Diff to previous 6780
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 6780 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 25 14:30:55 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 47558 byte(s)
Diff to previous 6759
From Andrei:
Fix in TGeoCombiTrans that produced a segv when rotation
               was not defined.

Revision 6759 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 23 12:31:50 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 47514 byte(s)
Diff to previous 6725
Fix some compiler warnings with icc.

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/TGeoMatrix.cxx
File length: 47404 byte(s)
Diff to previous 6565
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 6565 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 7 14:21:56 2003 UTC (11 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 33512 byte(s)
Diff to previous 6294
From Andrei;

This class was forgotten in the previous bunch of changes.

Revision 6294 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 11 09:58:38 2003 UTC (11 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 31156 byte(s)
Diff to previous 5354
- Main containers of TGeoManager changed from TList to TObjArray to fix
geometry building/IO speed problems for very large geometries
- stressgeom.cxx fixed to cope with this change

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/TGeoMatrix.cxx
File length: 31145 byte(s)
Diff to previous 5307
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 5307 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 16 06:57:08 2002 UTC (12 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 29804 byte(s)
Diff to previous 4874
Patch from Andrei Gheata fixing a problem with Euler angles.

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/TGeoMatrix.cxx
File length: 29369 byte(s)
Diff to previous 4844
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 4844 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 13:50:26 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoMatrix.cxx
File length: 29180 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/TGeoMatrix.cxx
File length: 29134 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