Pasha Murat wrote: > > > 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 Hi Pasha, Indeed people have already started to make their own Lorentz boost facilities. The approach I used in my physics analysis (and which I introduced into the Alice reconstruction prototypes RALICE) was simply to make a class Lorbo. Via one of the member functions you can set the Lorentz boost parameters and another member function you can feed just any 4-element array (representing a 4-vector) which can then be boosted. Example : Lorbo q; float beta[3]={0,0,0.1}; // boost of 0.1c in z-direction float p[4]={20,1,2,1}; // 4-momentum (E,px,py,pz) in Gev units float pprime[4]; q.Boost(p,pprime); // pprime now contains the bossted 4-momentum // q.Inverse would do the inverse boost In this way there is no need to introduce a special Lorentz vector; one only has to stick to the component convention of the 4-vector ang of the metric g_mu_nu. For that I used the convention as in "Classical Electrodynamics" by J.D.Jackson. For Alice we have also introduced a direct treatment of our Tracks and Jets, but the procedure is actually the same. Hope this info will be of any use to you. -- Cheers, _/_/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ *----------------------------------------------------------------------* Dr. Nick van Eijndhoven Department of Subatomic Physics email : nick@phys.uu.nl Utrecht University / NIKHEF tel. +31-30-2532331 (direct) P.O. Box 80.000 tel. +31-30-2531492 (secr.) NL-3508 TA Utrecht fax. +31-30-2518689 The Netherlands WWW : http://www.phys.uu.nl/~nick Office : Ornstein lab. 172 ---------------------------------------------------------------------- tel. +41-22-7679751 (direct) CERN PPE Division / ALICE exp. tel. +41-22-7675857 (secr.) CH-1211 Geneva 23 fax. +41-22-7679480 Switzerland CERN beep : 13+7294 Office : B 160 1-012 *----------------------------------------------------------------------*
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:36 MET