Re: Python module for easy class generation

From: Noel Dawe <Noel.Dawe_at_cern.ch>
Date: Sat, 1 Jan 2011 14:06:44 -0600


Why not automatically place these dictionaries somewhere less invasive? Like /tmp or ~/.rootsys?

Noel

On Fri, Dec 31, 2010 at 2:22 AM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:

> Hi Noel,
>
> that's your dictionary :) You can remove it, but then ROOT will need to
> regenerate it every time it needs the dictionary.
>
> Cheers, Axel.
>
>
> On 12/31/10 5:10 AM, Noel Dawe wrote:
> > When using GenerateDictionary in python I end up with a lot of
> > AutoDict_vector_vector_float___.cxx* garbage that is not cleaned up. I
> > suppose this is an easy fix?
> >
> > Noel
> >
> > On Thu, Dec 23, 2010 at 10:33 PM, Philippe Canal <pcanal_at_fnal.gov
> > <mailto:pcanal_at_fnal.gov>> wrote:
> >
> > Hi Noel,
> >
> > In newer version of ROOT you can simply your scripts by using
> >
> > gInterpreter->GenerateDictionary("vector<vector<float> >",
> "vector");
> >
> > which does most of the work of your make_class.
> >
> > Cheers,
> > Philippe.
> >
> >
> > On 12/22/10 4:29 PM, Noel Dawe wrote:
> >
> > For all the python fans out there I've attached a simple module
> > which may be used to generate classes in PyROOT which are not
> > available by default (like vector<vector<float> > etc.)
> >
> > Example usage:
> >
> > Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
> > [GCC 4.4.5] on linux2
> > Type "help", "copyright", "credits" or "license" for more
> > information.
> > >>> from classfactory import *
> > >>> make_class("vector<vector<float> >", "<vector>")
> > True
> > >>> ROOT.vector("vector<float>")()
> > <ROOT.vector<vector<float> > object at 0x2b1cf10>
> > >>> make_class("vector<TH1D>", "TH1D.h")
> > True
> > >>> ROOT.vector("TH1D")()
> > <ROOT.vector<TH1D> object at 0x2b2c160>
> > >>>
> >
> > Suggestions/improvements are welcome.
> >
> > Cheers,
> > Noel
> >
> >
>
>
Received on Sat Jan 01 2011 - 21:07:14 CET

This archive was generated by hypermail 2.2.0 : Mon Jan 03 2011 - 15:45:46 CET