Hi Kalen, Solution is simple: you must provide TF1 constructor with suitable function. Your function is not valid. Change your test file to this: double testfunc(double *x,double*par) { double xx = x[0]; return sin(xx); } Hope this helps, Best regards, Stanislav. On Tue, 20 May 2003, Kalen Martens wrote: > Hi, > > I am having some difficulty in drawing a function that I have in a file. > Here is a simple function, for example: > > >cat testfunc.C > > double testfunc(double x) > { > double s; > > s=sin(x); > > return s; > } > > I have a more complicated function in mind, but this is simple and I get > the same behavior. > > In ROOT (3.04/02), I do the following: > > >root > > Compiled for linux with thread support. > > CINT/ROOT C/C++ Interpreter version 5.15.68, Dec 12 2002 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > root [0] .L testfunc.C > root [1] TF1 *testf1 = new TF1("testf1", testfunc, 3., 8., 0); > root [2] testf1 -> Draw(); > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > Error: G__CallFunc::SetArgArray() must be initialized with > 'G__CallFunc::SetFunc(G__ClassInfo* cls,char* fname,char* args,long* > poffset)' first > root [3] > > I don't understand this error. I've really tried to get this to work, but > with no avail. Can someone show me the error of my ways? > > Thanks, > -Kalen > > ----------------------------------------------------------------- > - Kalen Martens Ph:(416)-978-6632 - > - Dept. of Physics - > - University of Toronto, Toronto, Canada - > ----------------------------------------------------------------- > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET