Re: [ROOT] Re: PyROOT

From: Brett Viren (bv@bnl.gov)
Date: Sun Feb 29 2004 - 18:17:09 MET


Hi Rene,

Rene Brun writes:
 > 
 > The ROOT workshop page is reachable from http://root.cern.ch
 > http://www.slac.stanford.edu/BFROOT/www/Computing/Distributed/ROOT2004/
 > http://www.slac.stanford.edu/BFROOT/www/Computing/Distributed/ROOT2004/program.html

Thanks, but my real question was:

 > > Any reason not to distribute [PyROOT] with ROOT proper?

Personally, I would much rather write ROOT scripts in Python than
pseudo-C++, so I hope this becomes a standard part of ROOT.



BTW, I have tried out PyROOT 1.3.3 and it can be easily built with out
SEAL's CMT framework.  The "ROOT from Python" works as advertized in
the talk.  Very cool!

However, I couldn't get "Python from ROOT" to work.  Slide 10 of the
talk shows the Python stuff being in namespace "Python" but I don't
find that defined in v1.3.3.  Maybe this is a more recent development
or implemented outside of the PyROOT area in SEAL?

Also, I noticed that operator()() and operator[]() aren't mapped to
Python's __getitem__ and __call__ respectively.  For example:

>>> from ROOT import TVector3
>>> v = TVector3(0,1,2)
>>> v[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: TVector3 instance has no attribute '__getitem__'
>>> v
<ROOT.TVector3 instance at 0x8c216b4>
>>> v.X()
0.0
>>> v.Y()
1.0
>>> v(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: TVector3 instance has no __call__ method


But, anyways, PyROOT looks like a great thing and I really hope it can
become more mainstream by being part of ROOT proper.

-Brett.



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET