Hello, I wrote a C++ code for drawing a function. I can compile it, but when I try to execute the program error appears on the line where I define a pointer to a TF1 class. However, canvas is drawing and function not. Below is a code of my program. So, can somebody of you help me and explain what is wrong there? Thank you. #include <stdio.h> #include <math.h> #include "TROOT.h" //#include "TClass.h" //#include "TClassTable.h" //#include "TCollection.h" //#include "TObject.h" #include "TCanvas.h" #include "TMath.h" #include "TF1.h" #include "TApplication.h" extern void InitGui(); VoidFuncPtr_t initfuncs[]={InitGui, 0}; int Error; //needed by Motif TROOT root("hello","Hello World",initfuncs); Double_t ring(Double_t *x, Double_t *p) { Double_t Pi=3.14, Dl=0.005; Double_t f=0, fx, phi,y,z; if(p[2]){ for(y=p[2];y<=p[3];y+=Dl){ z=(x[0]-y)/p[1]; fx=exp(-0.5*z*z)*sqrt(p[3]*p[3]-y*y); f+=p[0]*fx*Dl; } for(y=-p[3];y<=-p[2];y+=Dl){ z=(x[0]-y)/p[1]; fx=exp(-0.5*z*z)*sqrt(p[3]*p[3]-y*y); f+=p[0]*fx*Dl; } for(y=-p[2];y<=p[2];y+=Dl){ z=(x[0]-y)/p[1]; fx=exp(-0.5*z*z)*(sqrt(p[3]*p[3]-y*y)-sqrt(p[2]*p[2]-y*y)); f+=p[0]*fx*Dl; } } return f; } int main(int argc, char **argv){ TApplication theApp("App",&argc,argv); TCanvas *c1 = new TCanvas("c1","Function draw",10,10,600,450); c1->Show(); TF1 *func = new TF1("ring",ring,-6,6,4); func->SetParameters(1500,0.3,1.7,1.71); func->Draw(); c1->Update(); theApp.Run(kTRUE); theApp.Run(); return 0; } Антон.
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:44 MET