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