19 double xmax,
int np,
bool step) :
24 virtual void GetKnot(
int i,
double &x,
double &y)
const =0;
28 virtual double Eval(
double x)
const=0;
29 virtual void SaveAs(
const char * )
const {;}
46 double &
X() {
return fX;}
47 double &
Y() {
return fY;}
50 virtual double Eval(
double)
const {
return fY;}
63 fB(0), fC(0), fD(0) {}
66 double &
B() {
return fB;}
67 double &
C() {
return fC;}
68 double &
D() {
return fD;}
69 double Eval(
double x)
const {
71 return (
fY+dx*(fB+dx*(fC+dx*fD)));
75 return (fB+2*fC*dx+3*fD*dx*dx);
91 fB(0), fC(0), fD(0), fE(0), fF(0) {}
93 double d,
double e,
double f) :
95 double &
B() {
return fB;}
96 double &
C() {
return fC;}
97 double &
D() {
return fD;}
98 double &
E() {
return fE;}
99 double &
F() {
return fF;}
102 return (
fY+dx*(fB+dx*(fC+dx*(fD+dx*(fE+dx*fF)))));
106 return (fB+2*fC*dx+3*fD*dx*dx+4*fE*dx*dx*dx+5*fF*dx*dx*dx*dx);
122 void SetCond(
const char *opt);
126 fBegCond(-1), fEndCond(-1) {}
128 double x[],
double y[],
int n,
const char *opt=0,
129 double valbeg=0,
double valend=0);
131 double xmin,
double xmax,
132 double y[],
int n,
const char *opt=0,
133 double valbeg=0,
double valend=0);
135 double xmin,
double xmax,
136 double (*func)(
const double&),
int n,
const char *opt=0,
137 double valbeg=0,
double valend=0);
142 void GetCoeff(
int i,
double &x,
double &y,
double &b,
143 double &c,
double &d) {
x=fPoly[i].
X();y=fPoly[i].
Y();
144 b=fPoly[i].
B();c=fPoly[i].
C();d=fPoly[i].
D();}
145 void GetKnot(
int i,
double &x,
double &y)
const
146 {
x=fPoly[i].
X(); y=fPoly[i].
Y();}
147 virtual void SaveAs(
const char *filename)
const;
159 void BoundaryConditions(
const char *opt,
int &beg,
int &end,
160 const char *&cb1,
const char *&ce1,
const char *&cb2,
162 void SetBoundaries(
double b1,
double e1,
double b2,
double e2,
163 const char *cb1,
const char *ce1,
const char *cb2,
169 double x[],
double y[],
int n,
170 const char *opt=0,
double b1=0,
double e1=0,
171 double b2=0,
double e2=0);
173 double xmin,
double xmax,
175 const char *opt=0,
double b1=0,
double e1=0,
176 double b2=0,
double e2=0);
178 double xmin,
double xmax,
179 double(*func)(
const double&),
180 int n,
const char *opt=0,
181 double b1=0,
double e1=0,
182 double b2=0,
double e2=0);
187 void GetCoeff(
int i,
double &x,
double &y,
double &b,
188 double &c,
double &d,
double &e,
double &f)
189 {
x=fPoly[i].
X();y=fPoly[i].
Y();b=fPoly[i].
B();
190 c=fPoly[i].
C();d=fPoly[i].
D();
191 e=fPoly[i].
E();f=fPoly[i].
F();}
192 void GetKnot(
int i,
double &x,
double &y)
const
193 {
x=fPoly[i].
X(); y=fPoly[i].
Y();}
194 virtual void SaveAs(
const char *filename)
const;
void GetCoeff(int i, double &x, double &y, double &b, double &c, double &d)
int FindX(double x) const
double Derivative(double x) const
double Eval(double x) const
TRadSpline3(const char *title, double xmin, double xmax, double y[], int n, const char *opt=0, double valbeg=0, double valend=0)
void GetKnot(int i, double &x, double &y) const
TRadSpline3(const char *title, double xmin, double xmax, double(*func)(const double &), int n, const char *opt=0, double valbeg=0, double valend=0)
TRadSpline3(const char *title, double x[], double y[], int n, const char *opt=0, double valbeg=0, double valend=0)
virtual void SaveAs(const char *filename) const
TRadSpline5(const char *title, double x[], double y[], int n, const char *opt=0, double b1=0, double e1=0, double b2=0, double e2=0)
void GetCoeff(int i, double &x, double &y, double &b, double &c, double &d, double &e, double &f)
double Derivative(double x) const
int FindX(double x) const
virtual void SaveAs(const char *filename) const
double Eval(double x) const
TRadSpline5(const char *title, double xmin, double xmax, double y[], int n, const char *opt=0, double b1=0, double e1=0, double b2=0, double e2=0)
void GetKnot(int i, double &x, double &y) const
TRadSpline5(const char *title, double xmin, double xmax, double(*func)(const double &), int n, const char *opt=0, double b1=0, double e1=0, double b2=0, double e2=0)
double Eval(double x) const
TRadSplinePoly3(double x, double y, double b, double c, double d)
double Derivative(double x) const
double Derivative(double x) const
TRadSplinePoly5(double x, double y, double b, double c, double d, double e, double f)
double Eval(double x) const
virtual double Eval(double) const
virtual ~TRadSplinePoly()
void GetKnot(double &x, double &y) const
TRadSplinePoly(double x, double y)
virtual int GetNpx() const
virtual void GetKnot(int i, double &x, double &y) const =0
TRadSpline(const char *title, double delta, double xmin, double xmax, int np, bool step)
virtual void BuildCoeff()=0
virtual double Eval(double x) const =0
virtual void SaveAs(const char *) const