Which Rotation class?

From: Bertini, Denis Dr. <D.Bertini_at_gsi.de>
Date: Thu, 23 Jul 2009 09:56:39 +0200

Hello ,

I would like to understand the situation with the basic Linear Algebra in ROOT since it is rather confusing to me.

First for the ROOT navigation system one has to use TGeoRotation. Fine for me , but in which representation are these Rotations ? What is the SetAngles() underlying representation.? Why is there no overloaded operators "*" or "+"? Why is there no connection via a "*" overloaded operator to a simple TVector3 ?

In wich order should i do a multiple matrix multiplication ?

                         MULT = A * B * C
It seems not clear to me !

Now there is another Rotation that one can use TRotation but to jump from TGeoRotation to this one i need a constructor
 ::TRotation(Double_t xx, Double_t xy etc ..)

which is not protected !

Then another choice from ROOT library ( actually i choose this one ) there is the Rotation3D from the math library. Once again what is the represention. Of course it differs from TGeoRotation to Rotation3D, why ?

Then there is no connection between TVector3 and this Matrix class , one has to go to another representation again XYZPoint in order to do a simple vector transformation T' = MAT * T. Why that ? And why is there not "+" overloaded operator for the XYZPoint ?

All that is rather confusing to me, it seems that everything is developped independently ... Is there here a chance to have in the future something more unifyied ?

                                                 Best Regards, 
           
                                                    Denis Bertini 
                      
Received on Thu Jul 23 2009 - 09:56:42 CEST

This archive was generated by hypermail 2.2.0 : Thu Jul 23 2009 - 11:25:02 CEST