Hi there, I have a button on screen which, when clicked, displays a canvas with four graphs. However, if I close the canvas and click the button again I get: *** Break *** bus error Root > Function display_blue_blea() busy flag cleared The function called by the button is below: void display_blue_blea() { TCanvas *blue_blea; if(blue_blea) delete blue_blea; blue_blea = new TCanvas ("blue_blea", "Blueshift and Bleaching",20,20,710,710); blue_blea->Divide(2,2); blue_blea->cd(1); pad2->Draw(); blue_blea->cd(2); pad3->Draw(); blue_blea->cd(3); pad4->Draw(); blue_blea->cd(4); pad5->Draw(); blue_blea->cd(1); TSlider *xslider = new TSlider("xslider","x",0.1,0.02,0.9,0.1); xslider->AddExec("fit",".x fit.C"); //run on mouse over pad blue_blea->cd(2); TSlider *xslider2 = new TSlider("xslider2","x",0.1,0.02,0.9,0.1); xslider2->AddExec("fit",".x fit.C"); //run on mouse over pad blue_blea->cd(3); TSlider *xslider3 = new TSlider("xslider3","x",0.1,0.02,0.9,0.1); xslider3->AddExec("fit",".x fit.C"); blue_blea->cd(4); TSlider *xslider4 = new TSlider("xslider4","x",0.1,0.02,0.9,0.1); xslider4->AddExec("fit",".x fit.C"); pad2->cd(); TH2F * bleaaxisHH= new TH2F("bleaaxisHH","Bleaching Heavy Hole",y,time[0],time[y-1],x,HH_bleach_min,HH_bleach_max); bleaaxisHH->SetStats(kFALSE); bleaaxisHH->GetYaxis()->SetLimits(0,HH_bleach_max); bleaaxisHH->Draw("A"); bleaaxisHH->GetYaxis()->SetTitleOffset(1.2); Bleach_HH_SCP->Draw("P"); Bleach_HH_SCP->SetMarkerColor(kBlue); Bleach_HH_SCP->SetMarkerStyle(8); Bleach_HH_SCP->SetMarkerSize(0.5); Bleach_HH_SCP->SetLineColor(kBlue); Bleach_HH_OCP->Draw("P"); Bleach_HH_OCP->SetMarkerColor(kGreen); Bleach_HH_OCP->SetMarkerStyle(8); Bleach_HH_OCP->SetMarkerSize(0.5); Bleach_HH_OCP->SetLineColor(kGreen); pad3->cd(); TH2F * bleaaxisLH= new TH2F("bleaaxisLH","Bleaching Light Hole",y,time[0],time[y-1],x,LH_bleach_min,LH_bleach_max); bleaaxisLH->SetStats(kFALSE); bleaaxisLH->Draw("A"); pad3->Update(); bleaaxisLH->GetYaxis()->SetTitleOffset(1.2); Bleach_LH_SCP->Draw("P"); Bleach_LH_SCP->SetMarkerColor(kBlue); Bleach_LH_SCP->SetMarkerStyle(8); Bleach_LH_SCP->SetMarkerSize(0.5); Bleach_LH_SCP->SetLineColor(kBlue); Bleach_LH_OCP->Draw("P"); Bleach_LH_OCP->SetMarkerColor(kGreen); Bleach_LH_OCP->SetMarkerStyle(8); Bleach_LH_OCP->SetMarkerSize(0.5); Bleach_LH_OCP->SetLineColor(kGreen); pad4->cd(); TH2F * blueaxisHH= new TH2F("blueaxisHH","Blueshift Heavy Hole",y,time[0],time[y-1],x,HH_blueshift_min,HH_blueshift_max); blueaxisHH->SetStats(kFALSE); blueaxisHH->Draw("A"); blueaxisHH->GetYaxis()->SetTitleOffset(1.2); Blueshift_HH_SCP->Draw("P"); Blueshift_HH_SCP->SetMarkerColor(kBlue); Blueshift_HH_SCP->SetMarkerStyle(8); Blueshift_HH_SCP->SetMarkerSize(0.5); Blueshift_HH_SCP->SetLineColor(kBlue); Blueshift_HH_OCP->Draw("P"); Blueshift_HH_OCP->SetMarkerColor(kGreen); Blueshift_HH_OCP->SetMarkerStyle(8); Blueshift_HH_OCP->SetMarkerSize(0.5); Blueshift_HH_OCP->SetLineColor(kGreen); pad5->cd(); TH2F * blueaxisLH= new TH2F("blueaxisLH","Blueshift Light Hole",y,time[0],time[y-1],x,LH_blueshift_min,LH_blueshift_max); blueaxisLH->SetStats(kFALSE); blueaxisLH->GetYaxis()->SetLimits(0,LH_blueshift_max); blueaxisLH->Draw("A"); blueaxisLH->GetYaxis()->SetTitleOffset(1.2); Blueshift_LH_SCP->Draw("P"); Blueshift_LH_SCP->SetMarkerColor(kBlue); Blueshift_LH_SCP->SetMarkerStyle(8); Blueshift_LH_SCP->SetMarkerSize(0.5); Blueshift_LH_SCP->SetLineColor(kBlue); Blueshift_LH_OCP->Draw("P"); Blueshift_LH_OCP->SetMarkerColor(kGreen); Blueshift_LH_OCP->SetMarkerStyle(8); Blueshift_LH_OCP->SetMarkerSize(0.5); Blueshift_LH_OCP->SetLineColor(kGreen); bleaaxisLH->GetYaxis()->SetTitle("Bleaching (a.u.)"); bleaaxisHH->GetYaxis()->SetTitle("Bleaching (a.u.)"); blueaxisLH->GetYaxis()->SetTitle("Blueshift (meV)"); blueaxisHH->GetYaxis()->SetTitle("Blueshift (meV)"); bleaaxisLH->GetXaxis()->SetTitle("Time (ps)"); bleaaxisHH->GetXaxis()->SetTitle("Time (ps)"); blueaxisLH->GetXaxis()->SetTitle("Time (ps)"); blueaxisHH->GetXaxis()->SetTitle("Time (ps)"); pad2->cd(); TPaveText *legend = new TPaveText(.82,.82,.97,.97,"NDC"); TText *OCP = new TText(0.85,0.85,"OCP"); TText *SCP = new TText(0.85,0.9,"SCP"); legend->Draw(); OCP->SetTextColor(kGreen); SCP->SetTextColor(kBlue); SCP->DrawTextNDC(0.85,0.84,"OCP"); OCP->DrawTextNDC(0.85,0.91,"SCP"); blue_blea->cd(2); legend->Draw(); SCP->DrawTextNDC(0.85,0.84,"OCP"); OCP->DrawTextNDC(0.85,0.91,"SCP"); blue_blea->cd(3); legend->Draw(); SCP->DrawTextNDC(0.85,0.84,"OCP"); OCP->DrawTextNDC(0.85,0.91,"SCP"); blue_blea->cd(4); legend->Draw(); SCP->DrawTextNDC(0.85,0.84,"OCP"); OCP->DrawTextNDC(0.85,0.91,"SCP"); }
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:57 MET