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

Last change on this file since 2743 was 926, checked in by ansari, 25 years ago

documentation cmv 13/4/00

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