Physics vectors ( was Re: vector classes predefined?)

From: Pasha Murat (murat@cdfsga.fnal.gov)
Date: Thu Jul 23 1998 - 06:58:16 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. 
  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 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.

- an alternative approach could be to start from another, different from CLHEP,
  physics vectors package (preferably - non-templated) and iterate 
  on it to make it useful for everybody. This seems to be a relatively modest 
  job - for example, I'm using a simple package of myself which is pretty much 
  complete with the exception of several methods like Lorentz rotations / boosts 
  which is trivial to add. I implemented it for the only reason that CLHEP 
  classes didn't have methods I needed ... 
  I'd also expect that many other people have similar packages - it is much 
  more easy to implement them than to wait for somebody to do it...

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
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.
				Any opinions? - Pasha



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