Hi, Maybe this is just a typo in your email but instead of: ptr=(*THF1)gDirectory->Get(histo); you should have ptr=(TH1F*)gDirectory->Get(histo); i.e. the class name was not spelled corrected and the star '*' should come in second position. Cheers, Philippe. -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Sara VECCHIO Sent: Wednesday, August 13, 2003 8:59 AM To: roottalk@pcroot.cern.ch Subject: Re: [ROOT] TDirectory::Get() with objects in memory Hi, I have some problem with Get() funcion, too. But maybe it's only a sintax error. In a file.root I have some histograms. Using a macro I just open the file then I try to get a pointer to an histogram and I get a null pointer. When I type single lines on root prompt I can use the histoname as a pointer. For example: { char histo[20]; THF1* ptr; TFile *f = TFile::Open("file.root","update"); for(i=0;i<5;i++) { sprintf(histo,"h%d",i); ptr=(*THF1)gDirectory->Get(histo); ptr->Draw(); } } doesn't work but root[0] TFile f("file.root","update"); root[1] THF1 *ptr = h1; //or THF1 *ptr=(*THF1)gDirectory->Get("h1"); root[2] ptr->Draw(); works fine. What's wrong in the first case? (using gFile or gROOT instead of gDirectory doesn't change my results) using 3.03.09. Sara Vecchio
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:14 MET