source: Sophya/trunk/SophyaLib/NTools/fct1dfit.h@ 757

Last change on this file since 757 was 552, checked in by ansari, 26 years ago

namespace changed to SOPHYA cmv 5/11/99

File size: 4.1 KB
RevLine 
[220]1#ifndef FCT1DFIT_SEEN
2#define FCT1DFIT_SEEN
3
4#include "generalfit.h"
5
[552]6namespace SOPHYA {
[307]7
[220]8//================================================================
9// CLASSES DE FONCTIONS 1D AVEC PARAMETRES POUR LE FIT
10//================================================================
11
12//////////////////////////////////////////////////////////////////
13class Gauss1DPol : public GeneralFunction {
14public:
15 Gauss1DPol(unsigned int ndegpol,bool polcenter=false);
16 Gauss1DPol(bool polcenter=false);
17 virtual ~Gauss1DPol();
18
19 virtual double Value(double const xp[], double const* Par);
20 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
21
22 inline int NDegP() const {return NDegPol;}
23
24protected:
25 int NDegPol; // degre du polynome
26 bool PolCenter; // centrage du polynome
27};
28
29//////////////////////////////////////////////////////////////////
30class GaussN1DPol : public GeneralFunction {
31public:
32 GaussN1DPol(unsigned int ndegpol,bool polcenter=false);
33 GaussN1DPol(bool polcenter=false);
34 virtual ~GaussN1DPol();
35
36 virtual double Value(double const xp[], double const* Par);
37 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
38
39 inline int NDegP() const {return NDegPol;}
40
41protected:
42 int NDegPol; // degre du polynome
43 bool PolCenter; // centrage du polynome
44};
45
46//////////////////////////////////////////////////////////////////
47class Exp1DPol : public GeneralFunction {
48public:
49 Exp1DPol(unsigned int ndegpol,double x0=0.);
50 Exp1DPol(double x0=0.);
51 virtual ~Exp1DPol();
52
53 virtual double Value(double const xp[], double const* Par);
54 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
55
56 inline int NDegP() const {return NDegPol;}
57 inline double XCenter() {return X_Center;}
58
59protected:
60 int NDegPol; // degre du polynome
61 double X_Center; // Centrage en X pour stabilitee
62};
63
64//////////////////////////////////////////////////////////////////
65class Polyn1D : public GeneralFunction {
66public:
67 Polyn1D(unsigned int ndegpol,double x0=0.);
68 virtual ~Polyn1D();
69
70 virtual double Value(double const xp[], double const* Par);
71 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
72
73 inline int NDegP() const {return NDegPol;}
74 inline double XCenter() {return X_Center;}
75
76protected:
77 int NDegPol; // degre du polynome
78 double X_Center; // Centrage en X pour stabilitee
79};
80
81//////////////////////////////////////////////////////////////////
82class HarmonieNu : public GeneralFunction {
83public:
84 HarmonieNu(unsigned int nharm=0, double t0=0.);
85 virtual ~HarmonieNu();
86
87 virtual double Value(double const xp[], double const* Par);
88 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
89
90 inline int NHarmonic() {return NHarm;}
91 inline double T0Center() const {return T0;}
92 inline double& T0Center() {return T0;}
93
94protected:
95 int NHarm;
96 double T0;
97};
98
99//////////////////////////////////////////////////////////////////
100class HarmonieT : public GeneralFunction {
101public:
102 HarmonieT(unsigned int nharm=0, double t0=0.);
103 virtual ~HarmonieT();
104
105 virtual double Value(double const xp[], double const* Par);
106 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
107
108 inline int NHarmonic() {return NHarm;}
109 inline double T0Center() const {return T0;}
110 inline double& T0Center() {return T0;}
111
112protected:
113 int NHarm;
114 double T0;
115};
116
117//================================================================
118// CLASSES DE FONCTIONS 2D AVEC PARAMETRES POUR LE FIT
119//================================================================
120
121//////////////////////////////////////////////////////////////////
122class Polyn2D : public GeneralFunction {
123public:
124 Polyn2D(unsigned int ndegpol,double x0=0.,double y0=0.);
125 virtual ~Polyn2D();
126
127 virtual double Value(double const xp[], double const* Par);
128 virtual double Val_Der(double const xp[],double const* Par,double* DgDpar);
129
130 inline int NDegP() const {return NDegPol;}
131
132protected:
133 int NDegPol; // degre du polynome
134 double X_Center; // Centrage en X pour stabilitee
135 double Y_Center; // Centrage en Y pour stabilitee
136};
137
[307]138} // Fin du namespace
139
[220]140#endif
Note: See TracBrowser for help on using the repository browser.