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