TGraph.DrawGraph() => seg. viol.

From: Selim Issever (selim.issever@desy.de)
Date: Mon May 17 1999 - 13:33:20 MEST


Hi all,..

doesn anybody have an idea, why the following script gives me a seg violation?
It works for small s (I guess 32000 is the real magic border)

in principal I just wanted to plot 2 ntuple entries against each
other and have lines drawn between all the points,...

If somebody has a another but working solution, thats ok with me too;)

Cheerio,
Selim


--- tt.C ------------------------------

{
const int s=50 000;

TNtuple *nt = new TNtuple("nt", "", "x:y", 100 000);
for(int i=0; i<s; i++) {
  nt->Fill(i, 3*i);
}
cout << "nt filled" << endl;

TCanvas *c = new TCanvas("c", "");
c->Draw();

TH2C *h  = new TH2C("h",  "", 2500, 0, s, 2500, 0, 3*s);  
h->Draw();
c->Update();
cout << "hist drawn" << endl;

TGraph *g = new TGraph(100 000);
nt->Draw("y:x", "", "goff,same");
cout << "nt drawn" << endl;

Int_t    selR = nt->GetSelectedRows();
Float_t *xArr = nt->GetV2();
Float_t *yArr = nt->GetV1();
cout << "got args" << endl;

g->DrawGraph(selR, xArr, yArr, "l"); 
cout << "graph drawn" << endl;
c->Update();

}
---------------------------------------------
this is the output:

root [0] .x tt.C  
nt filled
hist drawn
nt drawn
got args

 *** Break *** segmentation violation



-- 
Selim Issever | Tel: 040 8998-2843    +- It is nothing; they are only -
DESY-F15      | Fax: 040 8998-4033    +- killing my husband.      -----
Notkestr. 85  | selim.issever@desy.de +----- Portuguese Proverb -------
22603 Hamburg/Germany   |  http://www.physik.uni-dortmund.de/~issevers



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:33 MET