Hello rooters, I have the following problem using ROOT v 2.23/12 in Linux. I have a compiled class (see stripped down version below) which contains a TGraphErrors and a TF1. I fit the TF1 to the data in the TGraphErrors, and save it to a root file. So far, so good. When I load it later on, and go to look at the fit, and jiggle some parameters about, etc., it tells me that the function does not exist and/or a segmentation violation ensues. Upon investigation, I noticed the following: 1) the pointer gROOT->GetFunction("name") points to somewhere other than the function address. 2) The same pointer in the TGraphErrors points to somewhere strange as well. 3) THe first operation that I make in the function (a Fit, changea Parameter range, or change a PArameter) works O.K. But after that, I have problems. 4) THe only way I have to get around the problem is to delete the function and make an identical on with a different name, or change the gROOT->GetFunction() pointer to that function, and redraw the graph. Both of which still leave open the possibility of future segmetation violations. Code: test.h #ifndef __test__ #define __test__ #include "TCanvas.h" #include "TGraphErrors.h" #include "TH1.h" #include "TF1.h" #include "TObject.h" class test:public TObject{ public: TCanvas *canvas; TGraphErrors *graph; TF1 *func; test(); virtual ~test(); ClassDef(test,1) }; #endif test.cxx #include "test.h" #include "TROOT.h" #include <new> extern TROOT *gROOT; ClassImp(test); test::test() { canvas=0; graph=0; func=0; } test::~test() { if(gROOT->GetListOfCanvases()->FindObject(canvas)) delete canvas; canvas=0; delete graph; graph=0; delete func; func=0; } RAINMAN "How much does a piece of gum cost Ray?" "About $100." "How much does a new car cost Ray?" "`Bout $100." "There goes working for NASA!" ============================================================================== Ray Fliller: rfliller@bnl.gov Office Phone: (631)-344-6124 C-A Accelerator Physics Building 911 Brookhaven National Lab Upton, NY 11973 Office: Room 211 ==============================================================================
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET