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