Changeset 914 in Sophya for trunk/SophyaLib/NTools/generalfit.h
- Timestamp:
- Apr 13, 2000, 6:04:50 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/NTools/generalfit.h
r552 r914 13 13 //================================================================ 14 14 15 16 /*! 17 Classe de fonctions parametrees a plusieurs variables: 18 \f$ F[x1,x2,x3,...:a1,a2,a3,...] \f$ 19 */ 15 20 class GeneralFunction { 16 21 public: … … 18 23 virtual ~GeneralFunction(); 19 24 25 //! Valeur de la fonction a definir par l'utilisateur (fct virtuelle pure) 20 26 virtual double Value(double const xp[], double const* parm)=0; 21 27 virtual double Val_Der(double const xp[], double const* parm … … 25 31 void SetDeltaParm(double const* dparam); 26 32 33 //! Retourne le nombre de variables Xi 27 34 inline int NVar() const {return mNVar;} 35 //! Retourne le nombre de parametres Ai 28 36 inline int NPar() const {return mNPar;} 29 37 30 38 protected: 31 const int mNVar; // nombre de variables f(x,y,z,...)32 const int mNPar; // nombre de parametres39 const int mNVar; //!< nombre de variables f(x,y,z,...) 40 const int mNPar; //!< nombre de parametres 33 41 34 42 double *deltaParm; … … 40 48 //================================================================ 41 49 50 /*! 51 Classe de fonctions parametrees a plusieurs variables 52 derivant de ``GeneralFunction''. Permet de definir 53 une fonction a fiter sans passer par une classe derivee 54 en utilisant l'ecriture courante du C. La fonction 55 retournant les derivees par rapport aux parametres du fit 56 peut etre egalement fournie (optionnel). 57 */ 42 58 class GeneralFunc : public GeneralFunction { 43 59 public: … … 62 78 class GeneralFitData; 63 79 80 /*! 81 Classe de Xi2 a plusieurs parametres : 82 \f$ Xi2[a1,a2,a3,...] \f$ 83 */ 64 84 class GeneralXi2 { 65 85 public: … … 67 87 virtual ~GeneralXi2(); 68 88 89 /*! 90 Valeur du Xi2 a definir par l'utilisateur (fct virtuelle pure) 91 a partir des donnees de `data'. l'utilisateur doit egalement 92 retourner le nombre de points de mesure utilises dans le calcul 93 du Xi2 (`ndataused'). 94 */ 69 95 virtual double Value(GeneralFitData& data, double* parm, int& ndataused)=0; 70 96 virtual double Derivee(GeneralFitData& data, int i, double* parm); … … 74 100 void SetDeltaParm(double const* dparam); 75 101 102 //! Retourne le nombre de parametres Ai. 76 103 inline int NPar() const {return mNPar;} 77 104 78 105 protected: 79 const int mNPar; // nombre de parametres106 const int mNPar; //!< nombre de parametres 80 107 81 108 double *deltaParm; … … 86 113 //================================================================ 87 114 115 //! Classe de fit d'une GeneralFunction sur une GeneralFitData 88 116 class GeneralFit { 89 117 public: … … 129 157 double GetMax(int n); 130 158 double GetMin(int n); 159 //! Retourne le Chi2 131 160 inline double GetChi2() const {return Chi2;}; 161 //! Retourne le Chi2 reduit 132 162 inline double GetChi2Red() const { 133 163 if(mNddl<=0) return (double) mNddl; 134 164 return Chi2/(double) mNddl; 135 165 }; 166 //! Retourne la precision de convergence pour le parametre i. 136 167 inline double GetEps(int i) const {return Eps(i);}; 168 //! Retourne le nombre de degres de liberte 137 169 inline int GetNddl() const {return mNddl;}; 170 //! Retourne le nombre d'iterations 138 171 inline int GetNStep() const {return nStep;}; 172 //! Retourne le nombre de variables 139 173 inline int GetNVar() const {return mNVar;}; 174 //! Retourne le nombre de parametres 140 175 inline int GetNPar() const {return mNPar;}; 176 //! Retourne le nombre de parametres libres 141 177 inline int GetNFree() const {return mNParFree;}; 178 //! Retourne le nombre de parametres bornes 142 179 inline int GetNBound() const {return mNParBound;}; 180 //! Retourne le nstop de convergence 143 181 inline int GetNStop() const {return nStop;}; 182 //! Retourne le nstop de convergence lente. 144 183 inline int GetNStopLent() const {return nStopLent;}; 184 //! Retourne le pointeur sur la GeneralFunction utilisee. 145 185 inline GeneralFunction* GetFunction() const {return mFunction;}; 186 //! Retourne le pointeur sur la GeneralFitData utilisee. 146 187 inline GeneralFitData* GetGData() const {return mData;}; 147 188 … … 158 199 159 200 protected: 160 int mNtry; // numero d'appel de la routine de fit.161 int mNVar; // nombre de variables f(x,y,z,...)162 int mNPar; // nombre de parametres163 int mNParFree; // nombre de parametres libres164 int mNParBound; // nombre de parametres bornes201 int mNtry; //!< numero d'appel de la routine de fit. 202 int mNVar; //!< nombre de variables f(x,y,z,...) 203 int mNPar; //!< nombre de parametres 204 int mNParFree; //!< nombre de parametres libres 205 int mNParBound; //!< nombre de parametres bornes 165 206 GeneralFunction* mFunction; 166 207 GeneralXi2* mFuncXi2;
Note:
See TracChangeset
for help on using the changeset viewer.