Hi all, Adding to my prior question... The TGraph::Draw "L" option draws a simple polyline between each pair of points. Are these polylines collected into an object (XX) so that I could gr->Draw("L"); TObjectXX* s = (TObjectXX*)gROOT->FindObject("stemp"); s->Eval(52.3); The problem is that I am graphing a signal versus time. The signal turns off for periods of time and TSpline3/5 "misbehave" at the gaps. I could try to do things piecewise or I could write my own gr->EvalSpline(52.3) routine but hoping its done. Cheers, Kevin >Hi all, > >I've attached below a dialogue I had before about TSpline::Eval. The >method described has worked great. > >However, I want to get a pointer to a TSpline (simple spline not TSpline3 >or TSpline5). > >If I have a graph (and assume it has some points filled x=0 to x=100) >and if I draw the graph telling it to connect the dots "L" I get a simple >spline. > >TGraph *gr; >gr->Draw("L"); > >Is there in fact an object created so I could do something like. > >TGraph *gr; >gr->Draw("L"); >TSpline *s = (TSpline*)gROOT->FindObject("stemp"); >// analagous to htemp from nt-Draw(); >s->Eval(52.3); > >instead of > >TGraph *gr; >gr->Draw("L"); >TSpline3 *s = new TSpline3("grs",gr); >s->Eval(52.3); > >Thanks, >Kevin > >----------------------------------------------------------------------------- > >Hi Kevin, > >You can use for example the TSpline class. Here is an example: >You can use TSpline::Eval to evaluate the spline at a point x. > >{ > gROOT->Reset(); > c1 = new TCanvas("c1","gerrors2",200,10,700,500); > c1->SetFillColor(42); > c1->SetGrid(); > > // draw a frame to define the range > TH1F *hr = c1->DrawFrame(-0.4,0,1.2,12); > hr->SetXTitle("X title"); > hr->SetYTitle("Y title"); > c1->GetFrame()->SetFillColor(21); > c1->GetFrame()->SetBorderSize(12); > > // create first graph > Int_t n1 = 9; > Double_t x1[] = {-0.22, 0.05, 0.25, 0.35, 0.61,0.7,0.85,0.89,0.95}; > Double_t y1[] = {1,2.9,5.6,7.4,9.6,8.7,6.3,4.5,2}; > Double_t ex1[] = {.05,.1,.07,.07,.05,.06,.07,.08,.05}; > Double_t ey1[] = {.8,.7,.6,.5,.4,.5,.6,.7,.8}; > gr1 = new TGraphErrors(n1,x1,y1,ex1,ey1); > gr1->SetMarkerColor(kBlue); > gr1->SetMarkerStyle(21); > gr1->Draw("LP"); > > // use a cubic spline to smooth the graph > TSpline3 *s = new TSpline3("grs",gr1); > s->SetLineColor(kRed); > s->Draw("same"); >} > >See also class TGraphSmooth > >Rene Brun > >Kevin Reil wrote: >> >> Hi, >> >> I was wondering if it is possible to Eval a spline fit. >> >> TGraph *gr = new TGraph(100,*x, *y); >> gr->Draw("apl"); >> >> The l has made a nice spline fit from x=0 to x=100 for example. >> >> Now, I want to get the value from the spline line at say x=53.2 >> Something like: >> gr->FindObject("spline")->Eval(53.2); >> >> Thank you, >> Kevin >> >> ------------------------------------------- >> - Kevin Reil - >> - #244A INSCC - >> - http://www.physics.utah.edu/~reil - >> - reil@physics.utah.edu - >> ------------------------------------------- >> - And my father dwelt in a tent. - >> ------------------------------------------- > >|------------------------------------|---------------------------------| >| Kevin Reil | 2575 Sand Hill Road, MS 26 | >| X2447, 103D A&E Bldg. 041 | Menlo Park, CA 94025 | >|------------------------------------|---------------------------------| >| http://www.slac.stanford.edu/~reil | Office (650) 926-2447 | >| reil@slac.stanford.edu | Home (650) 938-1767 | >| http://reil.no-ip.org | Fax (650) 926-5368 | >|----------------------------------------------------------------------| >| And my father dwelt in a tent. | >|----------------------------------------------------------------------| > >On Tue, 16 Mar 2004, Frank Winklmeier wrote: > >>Hi, >> >>I get the following error message on using TChain::GetEntry() >> >>root [28] chain.GetEntry(1,0) Error in <TBranch::GetBasket>: File: >>BBbar-41.root at byte:0, branch:event, entry:-1 >>(Int_t)(-1) >> >>Can somebody explain me what this error means and where it originally >>comes from (it's not in TBranch::GetBasket)? How can I find out what's >>wrong with this root file? >> >>Thanks, >>Frank >> >> >> >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET