Re: new ROOT LorentzVector class

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Jul 08 1999 - 08:58:14 MEST


Hi Pasha,
You are refering to early versions of the classes TLorentzVector and
TVector3.
Peter Malzacher has improved these two classes some time ago.
I however agree with your comment about Perp/Pt.
As you know, the idea in importing these two classes from CLHEP was to
remain CLHEP consistent. Comments are welcome.

Rene Brun


Pasha Murat wrote:
> 
> Hi Rooters,
>         I finally got to looking at the updated TLorentzVector class and I have
> a few quick comments:
> 
> - it would be very nice to have a TVector3::Pt() and TLorentzVector::Pt()
>   methods - the name `Perp()' is not good enough for particle physics...
>   Pt() was available in the previous version, why was it abandoned?
> 
> - it would also be very nice if calculation of particle Pt would not require
>   construction of a new 3-vector which `Perp' method does right now:
> 
> inline Double_t TLorentzVector::Perp2() const   { return TVector3(X(),Y(),Z()).Perp2(); }
> 
> - the same holds for all the rotations, for example in the present
>   implementation RotateUz looks as follows:
> 
> inline void TLorentzVector::RotateUz(TVector3 &v) {
>   TVector3 p( Vect() );
>   p.RotateUz(v);
>   SetVect( p );
> }
> 
>   so one needs to call a constructor for `p', then to rotate new vector,
>   then to do backward assignment from `p' to `this' and finally to
>   destruct `p'...
> 
> - it looks like all these complications arize from the single design choice
>   where LorentzVector doesn't know anything about its 3-vector. May be we
>   need to discuss pro's and contra's of this design. It seems to me that
>   having TLorentzVector inheriting from TVector3 simplifies many methods
>   and improves their efficiency with respect to the current implementation.
> 
>                         What do you think ? - Best, Pasha
>



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:35 MET