Re: Physics vectors ( was Re: vector classes predefined?)

From: stefan kluth (skluth@mh1.lbl.gov)
Date: Thu Jul 23 1998 - 19:43:45 MEST


Hi Rooters, 

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------|/\/|/\/|----



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