Hi Ed,
I have no way to test your case under Windows until I am back to CERN next
week.
Meanwhile, could you replace the statement:
parent->Fit("gaus","w","",roiLo,roiHi);
by
parent->Fit("gaus","w","same",roiLo,roiHi);
Rene Brun
On Fri, 4 Jan 2002, Ed Oltman wrote:
> Rene,
>
> Even when I remove the following code
>
> gPad->DeleteExec("ex1");
>
> from the running TExec object, the system still hangs if a Fit method is
> called. Is there a way I might get around this problem? Thanks!
>
>
> Ed Oltman
>
>
>
> -----Original Message-----
> From: Rene Brun [mailto:brun@pcbrun.cern.ch]
> Sent: Friday, January 04, 2002 3:48 AM
> To: Ed Oltman
> Cc: roottalk@pcroot.cern.ch
> Subject: Re: [ROOT] Problem encountered processing mouse event in win32
>
>
> Ed,
>
> In your example, you delete the TExec object. This is illegal while
> executing the TExec object itself.
>
> Rene Brun
>
> On Thu, 3 Jan 2002, Ed Oltman wrote:
>
> > Hello,
> >
> > Are there documented limitations on the types of things that can be done
> in
> > event handlers in root? I have a handler that allows interactive
> selection
> > of a region of interest of a histogram using the mouse: One performs the
> > same mouse operations that are used for zoom along the x-axis. It works
> > fine, until I add the fitting call - it performs the fit but never
> returns.
> > (comment out the fit and it works fine) I use hsimple.root in the
> > tutorials - any TH1F will work
> >
> > Here is my root session:
> >
> > root [0] TFile f("hsimple.root")
> > root [1] hpx->Draw()
> > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
> > root [2] c1->AddExec("ex1",".x event.c")
> > root [3] ROI limits: -1.280000 1.280000
> > FCN=21723.2 FROM MIGRAD STATUS=CONVERGED 73 CALLS 74
> TOTAL
> > EDM=7.24727e-008 STRATEGY= 1 ERROR MATRIX
> > UNCERTAINTY 1.4 per cent
> > EXT PARAMETER STEP FIRST
> > NO. NAME VALUE ERROR SIZE DERIVATIVE
> > 1 Constant 7.95014e+002 2.94883e-001 5.95042e-005 3.14561e-004
> > 2 Mean 9.96928e-003 4.72499e-004 -1.30032e-006 1.79069e-001
> > 3 Sigma 1.00597e+000 7.17379e-004 -5.21731e-006 1.88585e+000
> >
> > CTRL-C hit !!! ROOT is terminated !
> >
> > [Note: I had to control-C out - no cpu was being used, root simply hung]
> >
> > and here is my event handler - event.c
> >
> > {
> > //
> > // This allows selection of an ROI:
> > //
> > Float_t roiLo,roiHi;
> > int ix,ixl,ixh;
> > int event = gPad->GetEvent();
> >
> > // only care about Button1Down (1) and Button1Up(11) events
> > if ((event!=1) && (event!=11) ) return;
> > TObject *select = gPad->GetSelected();
> >
> > // only care if selected item is x-axis
> > if (strcmp(select->GetName(),"xaxis")!=0) return;
> > ix = gPad->GetEventX();
> > TAxis *h = (TAxis*)select;
> > if (event==1) // button down
> > {
> > // compute lower limit of ROI
> > roiLo = gPad->AbsPixeltoX(ix);
> > ixl = h->FindBin(roiLo);
> > roiLo = h->GetBinLowEdge(ixl);
> >
> > }
> > else // button up
> > {
> > // disable event
> > gPad->DeleteExec("ex1");
> >
> > // compute upper limit of ROI
> > roiHi = gPad->AbsPixeltoX(ix);
> > ixh = h->FindBin(roiHi);
> > roiHi = h->GetBinLowEdge(ixh)+h->GetBinWidth(ixh);
> > printf(" ROI limits: %f %f\n",roiLo,roiHi);
> > TH1F *parent = (TH1F *)h->GetParent();
> > parent->Fit("gaus","w","",roiLo,roiHi);
> > }
> > }
> >
> >
> > I am running version 3.02/06 of root on Win2000. I am using VC++ v6
> w/sp5.
> > Thanks..
> >
> >
> >
> > Ed Oltman
> >
> >
> >
> >
>
>
>
>
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:37 MET