Lorentz Vector Discussion

From: Peter Malzacher (malzache@fnal.gov)
Date: Mon Aug 16 1999 - 22:24:59 MEST


Hi

I have been in charge of upgrading the ROOT Physics Vectors by importing
the
existing CLHEP implementation.  The goal being to try to keep the number
of existing physics vector implementation as low as possible.  In the
process
we have been able to feed back some improvement back to the original
CLHEP.
A few of weeks ago, there has been a few reactions and proposal on this
upgrade.  I will try to answer to few of these as well as laying out our
plan for the next months.


1) Interfaces.

The current interface is a combination of the interface in the original 
classes provided by Pasha Murat and the current version of CLHEP. As far 
as I see most of the functionality a Lorentz Vector class should provide
is
there.

Marc Fishler is working on the combination of the ZOOM and the CLHEP
Lorentz 
Vector packages. He should be finished by October. There is one concept
which 
will be added to the CLHEP classes: nearness between LorentzVectors. 

After he will have finished that work I will include that concept into
ROOTs
PHYSICS package, hopefully within 3 months.


2) Underlying data (invariant mass vs. ernergy or time)

Jeff Templons proposal to take the invariant square of the LorentzVector
as fourth component (instead of energy or time) sounds ok. As far as I
see 
up to now, there are no drawbacks for physical acceptable LorentzVectors 
which outweight the advantage of not running into floating point
roundoff
errors. Therefore we should consider discussing this change to the CLHEP
maintainers. 


3) Complex Vector

I do not see whether it is useful to include complex LorentzVectors etc.
along the line of Richard T. Jones.  I simply do not have the experience
to see whether a lot of ROOT users will benefit from such classes. I
think
a lot of the methods in the current set do not make to much sense for 
complexlorentz vectors.


4) Implementation Detail

I also plan to tweak the implementation to make it as close as pratical
from
the CLHEP implementation while still not incurring unnecessary overhead. 
A lightweight TVector3Imp class which does not inherit from TObject will 
introduced and will be used as a member of the TLorentzVector class and 
parent of the TVector3 class without introducing overhead.
The structure of the classes will then be the same as in CLHEP. 
The current interface of TVector3 and TLorentzVector will not change, 
beside the addition of new fuctions (see above 1. )

Peter Malzacher



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