Logo ROOT  
Reference Guide
TSpline.h
Go to the documentation of this file.
1 // @(#)root/hist:$Id$
2 // Author: Federico Carminati 28/02/2000
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TSpline
13 #define ROOT_TSpline
14 
15 #ifdef R__LESS_INCLUDES
16 #include "TNamed.h"
17 #include "TAttLine.h"
18 #include "TAttFill.h"
19 #include "TAttMarker.h"
20 #else
21 #include "TGraph.h"
22 #endif
23 
24 class TH1;
25 class TH1F;
26 class TF1;
27 class TGraph;
28 
29 class TSpline : public TNamed, public TAttLine,
30  public TAttFill, public TAttMarker
31 {
32 protected:
33  Double_t fDelta; // Distance between equidistant knots
34  Double_t fXmin; // Minimum value of abscissa
35  Double_t fXmax; // Maximum value of abscissa
36  Int_t fNp; // Number of knots
37  Bool_t fKstep; // True of equidistant knots
38  TH1F *fHistogram; // Temporary histogram
39  TGraph *fGraph; // Graph for drawing the knots
40  Int_t fNpx; // Number of points used for graphical representation
41 
42  TSpline(const TSpline&);
43  TSpline& operator=(const TSpline&);
44  virtual void BuildCoeff()=0;
45 
46 public:
47  TSpline() : fDelta(-1), fXmin(0), fXmax(0),
48  fNp(0), fKstep(kFALSE), fHistogram(0), fGraph(0), fNpx(100) {}
49  TSpline(const char *title, Double_t delta, Double_t xmin,
50  Double_t xmax, Int_t np, Bool_t step) :
51  TNamed("Spline",title), TAttFill(0,1),
52  fDelta(delta), fXmin(xmin),
53  fXmax(xmax), fNp(np), fKstep(step),
54  fHistogram(0), fGraph(0), fNpx(100) {}
55  virtual ~TSpline();
56 
57  virtual void GetKnot(Int_t i, Double_t &x, Double_t &y) const =0;
58  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
59  virtual void Draw(Option_t *option="");
60  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
61  virtual Double_t GetDelta() const {return fDelta;}
62  TH1F *GetHistogram() const {return fHistogram;}
63  virtual Int_t GetNp() const {return fNp;}
64  virtual Int_t GetNpx() const {return fNpx;}
65  virtual Double_t GetXmin() const {return fXmin;}
66  virtual Double_t GetXmax() const {return fXmax;}
67  virtual void Paint(Option_t *option="");
68  virtual Double_t Eval(Double_t x) const=0;
69  virtual void SaveAs(const char * /*filename*/,Option_t * /*option*/) const {;}
70  void SetNpx(Int_t n) {fNpx=n;}
71 
72  ClassDef (TSpline,2) // Spline base class
73 };
74 
75 
76 //______________________________________________________________________________
77 class TSplinePoly : public TObject
78 {
79 protected:
80  Double_t fX; // abscissa
81  Double_t fY; // constant term
82 
83 public:
85  fX(0), fY(0) {}
87  fX(x), fY(y) {}
88  TSplinePoly(TSplinePoly const &other);
89  TSplinePoly &operator=(TSplinePoly const &other);
90 
91  Double_t &X() {return fX;}
92  Double_t &Y() {return fY;}
93  void GetKnot(Double_t &x, Double_t &y) const {x=fX; y=fY;}
94 
95  virtual Double_t Eval(Double_t) const {return fY;}
96 
97  private:
98  void CopyPoly(TSplinePoly const &other);
99 
100  ClassDef(TSplinePoly,2) // Spline polynomial terms
101 };
102 
104 :
105  TObject(other), fX(0), fY(0)
106 {
107  CopyPoly(other);
108 }
109 
110 
111 //______________________________________________________________________________
112 class TSplinePoly3 : public TSplinePoly
113 {
114 private:
115  Double_t fB; // first order expansion coefficient : fB*1! is the first derivative at x
116  Double_t fC; // second order expansion coefficient : fC*2! is the second derivative at x
117  Double_t fD; // third order expansion coefficient : fD*3! is the third derivative at x
118 
119 public:
121  fB(0), fC(0), fD(0) {}
123  TSplinePoly(x,y), fB(b), fC(c), fD(d) {}
124  TSplinePoly3(TSplinePoly3 const &other);
125  TSplinePoly3 &operator=(TSplinePoly3 const &other);
126 
127  Double_t &B() {return fB;}
128  Double_t &C() {return fC;}
129  Double_t &D() {return fD;}
131  Double_t dx=x-fX;
132  return (fY+dx*(fB+dx*(fC+dx*fD)));
133  }
135  Double_t dx=x-fX;
136  return (fB+dx*(2*fC+3*fD*dx));
137  }
138 
139 private:
140  void CopyPoly(TSplinePoly3 const &other);
141 
142  ClassDef(TSplinePoly3,1) // Third spline polynomial terms
143 };
144 
146  :
147  TSplinePoly(other), fB(0), fC(0), fD(0)
148 {
149  CopyPoly(other);
150 }
151 
152 //______________________________________________________________________________
153 class TSplinePoly5 : public TSplinePoly
154 {
155 private:
156  Double_t fB; // first order expansion coefficient : fB*1! is the first derivative at x
157  Double_t fC; // second order expansion coefficient : fC*2! is the second derivative at x
158  Double_t fD; // third order expansion coefficient : fD*3! is the third derivative at x
159  Double_t fE; // fourth order expansion coefficient : fE*4! is the fourth derivative at x
160  Double_t fF; // fifth order expansion coefficient : fF*5! is the fifth derivative at x
161 
162 public:
164  fB(0), fC(0), fD(0), fE(0), fF(0) {}
167  TSplinePoly(x,y), fB(b), fC(c), fD(d), fE(e), fF(f) {}
168  TSplinePoly5(TSplinePoly5 const &other);
169  TSplinePoly5 &operator=(TSplinePoly5 const &other);
170 
171  Double_t &B() {return fB;}
172  Double_t &C() {return fC;}
173  Double_t &D() {return fD;}
174  Double_t &E() {return fE;}
175  Double_t &F() {return fF;}
177  Double_t dx=x-fX;
178  return (fY+dx*(fB+dx*(fC+dx*(fD+dx*(fE+dx*fF)))));
179  }
181  Double_t dx=x-fX;
182  return (fB+dx*(2*fC+dx*(3*fD+dx*(4*fE+dx*(5*fF)))));
183  }
184 
185 private:
186  void CopyPoly(TSplinePoly5 const &other);
187 
188  ClassDef(TSplinePoly5,1) // Quintic spline polynomial terms
189 };
190 
192 :
193  TSplinePoly(other), fB(0), fC(0), fD(0), fE(0), fF(0)
194 {
195  CopyPoly(other);
196 }
197 
198 
199 //______________________________________________________________________________
200 class TSpline3 : public TSpline
201 {
202 protected:
203  TSplinePoly3 *fPoly; //[fNp] Array of polynomial terms
204  Double_t fValBeg; // Initial value of first or second derivative
205  Double_t fValEnd; // End value of first or second derivative
206  Int_t fBegCond; // 0=no beg cond, 1=first derivative, 2=second derivative
207  Int_t fEndCond; // 0=no end cond, 1=first derivative, 2=second derivative
208 
209  void BuildCoeff();
210  void SetCond(const char *opt);
211 
212 public:
213  TSpline3() : TSpline() , fPoly(0), fValBeg(0), fValEnd(0),
214  fBegCond(-1), fEndCond(-1) {}
215  TSpline3(const char *title,
216  Double_t x[], Double_t y[], Int_t n, const char *opt=0,
217  Double_t valbeg=0, Double_t valend=0);
218  TSpline3(const char *title,
220  Double_t y[], Int_t n, const char *opt=0,
221  Double_t valbeg=0, Double_t valend=0);
222  TSpline3(const char *title,
223  Double_t x[], const TF1 *func, Int_t n, const char *opt=0,
224  Double_t valbeg=0, Double_t valend=0);
225  TSpline3(const char *title,
227  const TF1 *func, Int_t n, const char *opt=0,
228  Double_t valbeg=0, Double_t valend=0);
229  TSpline3(const char *title,
230  const TGraph *g, const char *opt=0,
231  Double_t valbeg=0, Double_t valend=0);
232  TSpline3(const TH1 *h, const char *opt=0,
233  Double_t valbeg=0, Double_t valend=0);
234  TSpline3(const TSpline3&);
235  TSpline3& operator=(const TSpline3&);
236  Int_t FindX(Double_t x) const;
237  Double_t Eval(Double_t x) const;
238  Double_t Derivative(Double_t x) const;
239  virtual ~TSpline3() {if (fPoly) delete [] fPoly;}
241  Double_t &c, Double_t &d) {x=fPoly[i].X();y=fPoly[i].Y();
242  b=fPoly[i].B();c=fPoly[i].C();d=fPoly[i].D();}
243  void GetKnot(Int_t i, Double_t &x, Double_t &y) const
244  {x=fPoly[i].X(); y=fPoly[i].Y();}
245  virtual void SaveAs(const char *filename,Option_t *option="") const;
246  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
247  virtual void SetPoint(Int_t i, Double_t x, Double_t y);
248  virtual void SetPointCoeff(Int_t i, Double_t b, Double_t c, Double_t d);
249  static void Test();
250 
251  ClassDef (TSpline3,2) // Class to create third natural splines
252 };
253 
254 
255 //______________________________________________________________________________
256 class TSpline5 : public TSpline
257 {
258 protected:
259  TSplinePoly5 *fPoly; //[fNp] Array of polynomial terms
260 
261  void BuildCoeff();
262  void BoundaryConditions(const char *opt, Int_t &beg, Int_t &end,
263  const char *&cb1, const char *&ce1, const char *&cb2,
264  const char *&ce2);
265  void SetBoundaries(Double_t b1, Double_t e1, Double_t b2, Double_t e2,
266  const char *cb1, const char *ce1, const char *cb2,
267  const char *ce2);
268 public:
269  TSpline5() : TSpline() , fPoly(0) {}
270  TSpline5(const char *title,
271  Double_t x[], Double_t y[], Int_t n,
272  const char *opt=0, Double_t b1=0, Double_t e1=0,
273  Double_t b2=0, Double_t e2=0);
274  TSpline5(const char *title,
276  Double_t y[], Int_t n,
277  const char *opt=0, Double_t b1=0, Double_t e1=0,
278  Double_t b2=0, Double_t e2=0);
279  TSpline5(const char *title,
280  Double_t x[], const TF1 *func, Int_t n,
281  const char *opt=0, Double_t b1=0, Double_t e1=0,
282  Double_t b2=0, Double_t e2=0);
283  TSpline5(const char *title,
285  const TF1 *func, Int_t n,
286  const char *opt=0, Double_t b1=0, Double_t e1=0,
287  Double_t b2=0, Double_t e2=0);
288  TSpline5(const char *title,
289  const TGraph *g,
290  const char *opt=0, Double_t b1=0, Double_t e1=0,
291  Double_t b2=0, Double_t e2=0);
292  TSpline5(const TH1 *h,
293  const char *opt=0, Double_t b1=0, Double_t e1=0,
294  Double_t b2=0, Double_t e2=0);
295  TSpline5(const TSpline5&);
296  TSpline5& operator=(const TSpline5&);
297  Int_t FindX(Double_t x) const;
298  Double_t Eval(Double_t x) const;
299  Double_t Derivative(Double_t x) const;
300  virtual ~TSpline5() {if (fPoly) delete [] fPoly;}
303  {x=fPoly[i].X();y=fPoly[i].Y();b=fPoly[i].B();
304  c=fPoly[i].C();d=fPoly[i].D();
305  e=fPoly[i].E();f=fPoly[i].F();}
306  void GetKnot(Int_t i, Double_t &x, Double_t &y) const
307  {x=fPoly[i].X(); y=fPoly[i].Y();}
308  virtual void SaveAs(const char *filename,Option_t *option="") const;
309  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
310  virtual void SetPoint(Int_t i, Double_t x, Double_t y);
311  virtual void SetPointCoeff(Int_t i, Double_t b, Double_t c, Double_t d,
312  Double_t e, Double_t f);
313  static void Test();
314 
315  ClassDef (TSpline5,2) // Class to create quintic natural splines
316 };
317 
318 #endif
TSplinePoly5::C
Double_t & C()
Definition: TSpline.h:172
TSpline5::GetCoeff
void GetCoeff(Int_t i, Double_t &x, Double_t &y, Double_t &b, Double_t &c, Double_t &d, Double_t &e, Double_t &f)
Definition: TSpline.h:301
c
#define c(i)
Definition: RSha256.hxx:119
TSpline5::SetBoundaries
void SetBoundaries(Double_t b1, Double_t e1, Double_t b2, Double_t e2, const char *cb1, const char *ce1, const char *cb2, const char *ce2)
Set the boundary conditions at double/triple knots.
Definition: TSpline.cxx:1477
TSpline::fDelta
Double_t fDelta
Definition: TSpline.h:33
n
const Int_t n
Definition: legend1.C:16
TSpline3::fValEnd
Double_t fValEnd
Definition: TSpline.h:205
TSpline3::BuildCoeff
void BuildCoeff()
Build coefficients.
Definition: TSpline.cxx:1048
TSpline3::fBegCond
Int_t fBegCond
Definition: TSpline.h:206
TSplinePoly::fY
Double_t fY
Definition: TSpline.h:81
TSpline3::fValBeg
Double_t fValBeg
Definition: TSpline.h:204
TSplinePoly3::C
Double_t & C()
Definition: TSpline.h:128
TSplinePoly3::fC
Double_t fC
Definition: TSpline.h:116
TSplinePoly::TSplinePoly
TSplinePoly(Double_t x, Double_t y)
Definition: TSpline.h:86
TSpline::GetHistogram
TH1F * GetHistogram() const
Definition: TSpline.h:62
e
#define e(i)
Definition: RSha256.hxx:121
TSplinePoly5::Derivative
Double_t Derivative(Double_t x) const
Definition: TSpline.h:180
f
#define f(i)
Definition: RSha256.hxx:122
TSpline::operator=
TSpline & operator=(const TSpline &)
Assignment operator.
Definition: TSpline.cxx:69
TSpline3::operator=
TSpline3 & operator=(const TSpline3 &)
Assignment operator.
Definition: TSpline.cxx:554
TSplinePoly
Definition: TSpline.h:77
TSplinePoly3::B
Double_t & B()
Definition: TSpline.h:127
TSpline3::SetPointCoeff
virtual void SetPointCoeff(Int_t i, Double_t b, Double_t c, Double_t d)
Set point coefficient number i.
Definition: TSpline.cxx:1005
TSpline::Eval
virtual Double_t Eval(Double_t x) const =0
TSplinePoly::GetKnot
void GetKnot(Double_t &x, Double_t &y) const
Definition: TSpline.h:93
TSpline::GetNpx
virtual Int_t GetNpx() const
Definition: TSpline.h:64
TSpline5::SaveAs
virtual void SaveAs(const char *filename, Option_t *option="") const
Write this spline as a C++ function that can be executed without ROOT the name of the function is the...
Definition: TSpline.cxx:1581
TSpline::fXmax
Double_t fXmax
Definition: TSpline.h:35
TSpline::GetKnot
virtual void GetKnot(Int_t i, Double_t &x, Double_t &y) const =0
TSpline::fKstep
Bool_t fKstep
Definition: TSpline.h:37
TSpline5::BuildCoeff
void BuildCoeff()
Algorithm 600, collected algorithms from acm.
Definition: TSpline.cxx:1904
TGraph.h
xmax
float xmax
Definition: THbookFile.cxx:95
TNamed.h
TSplinePoly3::operator=
TSplinePoly3 & operator=(TSplinePoly3 const &other)
Assignment operator.
Definition: TSpline.cxx:299
TSpline3::GetCoeff
void GetCoeff(Int_t i, Double_t &x, Double_t &y, Double_t &b, Double_t &c, Double_t &d)
Definition: TSpline.h:240
TSplinePoly::Y
Double_t & Y()
Definition: TSpline.h:92
TAttMarker.h
TSpline::Draw
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition: TSpline.cxx:101
Int_t
int Int_t
Definition: RtypesCore.h:45
TSplinePoly::CopyPoly
void CopyPoly(TSplinePoly const &other)
Utility called by the copy constructors and = operator.
Definition: TSpline.cxx:285
TSpline3::SetPoint
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set point number i.
Definition: TSpline.cxx:995
x
Double_t x[n]
Definition: legend1.C:17
TSpline
Definition: TSpline.h:29
TSpline5::Derivative
Double_t Derivative(Double_t x) const
Derivative.
Definition: TSpline.cxx:1571
TSpline5::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TSpline.cxx:1772
TSplinePoly::fX
Double_t fX
Definition: TSpline.h:80
TSplinePoly3::fB
Double_t fB
Definition: TSpline.h:115
TSpline5
Definition: TSpline.h:256
b
#define b(i)
Definition: RSha256.hxx:118
TSpline5::GetKnot
void GetKnot(Int_t i, Double_t &x, Double_t &y) const
Definition: TSpline.h:306
TSplinePoly5::fB
Double_t fB
Definition: TSpline.h:156
bool
TSpline::TSpline
TSpline(const char *title, Double_t delta, Double_t xmin, Double_t xmax, Int_t np, Bool_t step)
Definition: TSpline.h:49
TSplinePoly::X
Double_t & X()
Definition: TSpline.h:91
TSpline5::SetPoint
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set point number i.
Definition: TSpline.cxx:1805
TSplinePoly5
Definition: TSpline.h:153
TSpline::fNpx
Int_t fNpx
Definition: TSpline.h:40
TAttLine.h
TSpline3::Eval
Double_t Eval(Double_t x) const
Eval this spline at x.
Definition: TSpline.cxx:786
TSplinePoly5::fD
Double_t fD
Definition: TSpline.h:158
TSplinePoly3::Eval
Double_t Eval(Double_t x) const
Definition: TSpline.h:130
TSpline::GetNp
virtual Int_t GetNp() const
Definition: TSpline.h:63
Option_t
const typedef char Option_t
Definition: RtypesCore.h:66
TSpline5::SetPointCoeff
virtual void SetPointCoeff(Int_t i, Double_t b, Double_t c, Double_t d, Double_t e, Double_t f)
Set point coefficient number i.
Definition: TSpline.cxx:1816
TSpline3::FindX
Int_t FindX(Double_t x) const
Find X.
Definition: TSpline.cxx:744
TSpline::SetNpx
void SetNpx(Int_t n)
Definition: TSpline.h:70
TSplinePoly5::CopyPoly
void CopyPoly(TSplinePoly5 const &other)
Utility called by the copy constructors and = operator.
Definition: TSpline.cxx:338
TAttFill.h
TSpline5::operator=
TSpline5 & operator=(const TSpline5 &)
Assignment operator.
Definition: TSpline.cxx:1429
TAttLine
Definition: TAttLine.h:18
TSpline5::FindX
Int_t FindX(Double_t x) const
Find X.
Definition: TSpline.cxx:1526
xmin
float xmin
Definition: THbookFile.cxx:95
h
#define h(i)
Definition: RSha256.hxx:124
TSpline3::Derivative
Double_t Derivative(Double_t x) const
Derivative.
Definition: TSpline.cxx:796
TSplinePoly5::D
Double_t & D()
Definition: TSpline.h:173
TSplinePoly5::B
Double_t & B()
Definition: TSpline.h:171
TNamed
Definition: TNamed.h:29
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TSplinePoly5::fE
Double_t fE
Definition: TSpline.h:159
TSpline::Paint
virtual void Paint(Option_t *option="")
Paint this function with its current attributes.
Definition: TSpline.cxx:131
TSplinePoly3::TSplinePoly3
TSplinePoly3(Double_t x, Double_t y, Double_t b, Double_t c, Double_t d)
Definition: TSpline.h:122
TSpline3::~TSpline3
virtual ~TSpline3()
Definition: TSpline.h:239
TSplinePoly5::TSplinePoly5
TSplinePoly5()
Definition: TSpline.h:163
TAttMarker
Definition: TAttMarker.h:19
TSpline5::BoundaryConditions
void BoundaryConditions(const char *opt, Int_t &beg, Int_t &end, const char *&cb1, const char *&ce1, const char *&cb2, const char *&ce2)
Check the boundary conditions and the amount of extra double knots needed.
Definition: TSpline.cxx:1446
TSpline3::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TSpline.cxx:966
y
Double_t y[n]
Definition: legend1.C:17
TSpline3::fPoly
TSplinePoly3 * fPoly
Definition: TSpline.h:203
TSpline5::Test
static void Test()
Test method for TSpline5.
Definition: TSpline.cxx:2082
TSplinePoly3::Derivative
Double_t Derivative(Double_t x) const
Definition: TSpline.h:134
TSplinePoly5::E
Double_t & E()
Definition: TSpline.h:174
TSplinePoly5::F
Double_t & F()
Definition: TSpline.h:175
TSplinePoly3::CopyPoly
void CopyPoly(TSplinePoly3 const &other)
Utility called by the copy constructors and = operator.
Definition: TSpline.cxx:311
TSpline3::Test
static void Test()
Test method for TSpline5.
Definition: TSpline.cxx:613
TSplinePoly3::TSplinePoly3
TSplinePoly3()
Definition: TSpline.h:120
TSplinePoly3::D
Double_t & D()
Definition: TSpline.h:129
TSpline::GetXmax
virtual Double_t GetXmax() const
Definition: TSpline.h:66
Double_t
double Double_t
Definition: RtypesCore.h:59
TSplinePoly3::fD
Double_t fD
Definition: TSpline.h:117
TSpline3::GetKnot
void GetKnot(Int_t i, Double_t &x, Double_t &y) const
Definition: TSpline.h:243
TGraph
Definition: TGraph.h:41
TSpline3
Definition: TSpline.h:200
TSpline::ExecuteEvent
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
Definition: TSpline.cxx:122
TSpline::fGraph
TGraph * fGraph
Definition: TSpline.h:39
TSpline3::SetCond
void SetCond(const char *opt)
Check the boundary conditions.
Definition: TSpline.cxx:574
TSplinePoly5::fC
Double_t fC
Definition: TSpline.h:157
TH1F
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:572
TSpline::fHistogram
TH1F * fHistogram
Definition: TSpline.h:38
TSpline5::~TSpline5
virtual ~TSpline5()
Definition: TSpline.h:300
TSpline::fNp
Int_t fNp
Definition: TSpline.h:36
TObject
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TH1
Definition: TH1.h:57
TSpline::DistancetoPrimitive
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a spline.
Definition: TSpline.cxx:113
TSpline::GetDelta
virtual Double_t GetDelta() const
Definition: TSpline.h:61
TSplinePoly::Eval
virtual Double_t Eval(Double_t) const
Definition: TSpline.h:95
TSplinePoly5::Eval
Double_t Eval(Double_t x) const
Definition: TSpline.h:176
d
#define d(i)
Definition: RSha256.hxx:120
TSpline::TSpline
TSpline()
Definition: TSpline.h:47
TSpline5::Eval
Double_t Eval(Double_t x) const
Eval this spline at x.
Definition: TSpline.cxx:1562
TSpline3::fEndCond
Int_t fEndCond
Definition: TSpline.h:207
TSpline::BuildCoeff
virtual void BuildCoeff()=0
TAttFill
Definition: TAttFill.h:19
TSpline5::TSpline5
TSpline5()
Definition: TSpline.h:269
TSpline::GetXmin
virtual Double_t GetXmin() const
Definition: TSpline.h:65
TF1
1-Dim function class
Definition: TF1.h:212
TSplinePoly5::TSplinePoly5
TSplinePoly5(Double_t x, Double_t y, Double_t b, Double_t c, Double_t d, Double_t e, Double_t f)
Definition: TSpline.h:165
TSpline::SaveAs
virtual void SaveAs(const char *, Option_t *) const
Save this object in the file specified by filename.
Definition: TSpline.h:69
TSpline5::fPoly
TSplinePoly5 * fPoly
Definition: TSpline.h:259
TSpline::fXmin
Double_t fXmin
Definition: TSpline.h:34
TSplinePoly::TSplinePoly
TSplinePoly()
Definition: TSpline.h:84
TSpline3::TSpline3
TSpline3()
Definition: TSpline.h:213
TSpline3::SaveAs
virtual void SaveAs(const char *filename, Option_t *option="") const
Write this spline as a C++ function that can be executed without ROOT the name of the function is the...
Definition: TSpline.cxx:807
TSplinePoly5::fF
Double_t fF
Definition: TSpline.h:160
TSplinePoly3
Definition: TSpline.h:112
int
TSplinePoly5::operator=
TSplinePoly5 & operator=(TSplinePoly5 const &other)
Assignment operator.
Definition: TSpline.cxx:326
TSplinePoly::operator=
TSplinePoly & operator=(TSplinePoly const &other)
Assignment operator.
Definition: TSpline.cxx:273
TSpline::~TSpline
virtual ~TSpline()
Destructor.
Definition: TSpline.cxx:60
g
#define g(i)
Definition: RSha256.hxx:123