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