I guess this could be an intresting issue for public discussion:
Yves Schutz writes:
>
> Does a class "Lorentz vector" also exist ?
>
>To the moment ROOT doesn't include classes for physics-oriented
>(2D-, 3D- and Lorentz) vectors. I'd consider it as an important piece
>which is still missing. One could think about several possibilities of
>how to fill this "hole":
>- recently Stefan Kluth reported on his success in generating rootcint
>dictionaries for CLHEP classes. (Great job, Stefan!)
>In principle, one could take CLHEP classes as a starting point. The major
>problem with CLHEP as I see it is that currently it doesn't seem to be
>supported.
Hm, that not quite true, CLHEP is a component of Geant4 and it is also
used by BaBar. It is supported by a member of the Geant4 team who is also
a member of the BaBar collaboration.
>Moreover, physics vectors seem to be the least developed part of CLHEP,
>the classes are missing quite a few very useful methods and it is not
For BaBar applications it seems to be reasonably complete. I suspect that
for proton collider physics a few things are missing?
>clear what to do if we need these methods to be added:
>- to ask somebody (whom?) to add missing methods (like pseudorapidity of
>a 3-vector or delta(phi) between 2 2(3)-vectors) to CLHEP?
>- to branch ROOT flavor of CLHEP ?
>And definitely one'd like physics vectors to "know" about ROOT's TMatrix
>class, whereas CLHEP vectors do not deal with ROOT TMatrices. So it seems
>that even if we start from CLHEP, ROOT "flavor" of CLHEP will immediately
>evolve into an independent package and it is necessary to understand all
>the consequences of this step.
Effectively, CLHEP-root is already separate from the original CLHEP,
because I dropped some less than useful classes, reorganised the directory
structure and added some extra pieces, like a root-streamable version of
HepAList<T>. Also, for some reason I started of a somewhat older version
of CLHEP which is already one or two steps behind BaBars version CLHEP.
>Anyway, as we already have a community of people actively using ROOT, I
>believe that
>a) it is clear that we need physics vectors classes to be added to ROOT
>and
Yes I agree
>b) that it makes a lot of sense to discuss what exactly we want from
>these
>classes before going into implementation - here we facing a situation
>where
>it is more difficult to decide on what is the right thing to do than to
>implement it.
Hm yes, and not yes. Implementing a general purpose physics vectors
package with transformations etc. useful in e+e- and hadron physics (and
whatever else physics) is not an easy task. Personally, I am quite glad
that the theorists who implemented the 3- and Lorentzvectors in CLHEP did
already do most of that thinking for us.
I think we should try to make all serious candidate packages available
to root, probably as root-linkable shared libs, so that users can try
them out.
cheers, Stefan
---Stefan Kluth---------------Lynen Fellow----------------|\--|\-------
- LBNL, MS 50A 2160 - phone: +1 510 495 2376 - |/ |/ -
- 1 Cyclotron Rd. - fax: +1 510 495 2957 - |\/\|\/\|' -
---Berkeley, CA94720, USA-----e-mail: SKluth@lbl.gov------|/\/|/\/|----