source: Sophya/trunk/SophyaPI/PIext/piafitting.h@ 2268

Last change on this file since 2268 was 1268, checked in by ercodmgr, 25 years ago

3ieme argument string& toks pour Execute et ExecuteCommand
preparation gestion TmpDir dans cxxexecutor
suppression de ExecuteCXX ds cxxexecutor et appels
possibilite d'ajouter des userfct.cc ds cxxexecutor

cmv 1/11/00

File size: 2.9 KB
RevLine 
[361]1// This may look like C code, but it is really -*- C++ -*-
2// Classe d ajustement pour piapp
3// cmv 98-99
4// CEA-DAPNIA LAL-IN2P3/CNRS
5
6#ifndef PIAFITTING_H_SEEN
7#define PIAFITTING_H_SEEN
8
9#include "machdefs.h"
10#include <string>
11#include <vector>
12
[1207]13#include "nomgadapter.h"
[361]14
15#include "pdlmgr.h"
16#include "dlftypes.h"
17#include "piacmd.h"
18
19class PIStdImgApp;
[379]20class PIAFitterWind;
[495]21
22#ifdef SANS_EVOLPLANCK
[545]23#include "cvector.h"
[385]24class GeneralFunction; class GeneralFunc; class GeneralFit;
[379]25class GeneralFitData;
[493]26#else
[545]27#include "tvector.h"
[551]28namespace SOPHYA {
[495]29class GeneralFunction; class GeneralFunc; class GeneralFit;
30class GeneralFitData;
31}
[493]32#endif
[361]33
34class PIAFitter : public CmdExecutor {
35public :
[379]36 PIAFitter(PIACmd* piac, PIStdImgApp* app);
37 virtual ~PIAFitter();
[1268]38 virtual int Execute(string& keyw, vector<string>& args, string& toks);
[385]39 virtual void LinkFitFunc(string const& fname, string const& funcname
40 ,int nvar,int npar);
41 virtual void PrepareFitFuncCFile(string const& fname, string const& funcname
42 ,int nvar,int npar);
[361]43
[379]44friend class PIAFitterWind;
[361]45
46protected :
[379]47
[361]48typedef struct DFOptions {
[379]49 bool okres, okfun;
[361]50 int polcx,polcy; double xc,yc;
[1207]51 GeneralFitData::FitErrType err_type;
52 double err_scale,err_min;
[361]53 double stc2;
54 int nstep;
55 int lp,lpg;
[1091]56 int_4 i1,i2,j1,j2;
[390]57 bool fromlastfit,autoinifit;
[361]58} DFOPTIONS ;
59
[379]60void ResetOptions(void);
61void DecodeOptions(string opt);
62void DecodeObject(string obj);
63void CheckOptions(void);
64void PrintOptions(void);
65void FillGData(void);
[1207]66void GetCentering(void);
[379]67void DecodeFunction(string func);
68void ReSetParam(void);
[390]69void AutoIniFit(void);
[379]70void InitParFromLastFit(void);
71void DecodeParam(string par,string step,string min,string max,string fix);
72int DoFit(void);
73void FitFunRes(void);
74void LinFit(void);
75
[392]76// pour initialiser les parametres du fit
77void IniFitP1ou2D(void);
78void IniFitGhP1D(void);
79void IniFitGvP1D(void);
80void IniFitGv2D(void);
81static int IniFitGaus(GeneralFitData& g,double& h,double& v
82 ,double& x0,double& y0,double& sx,double& sy,double& f);
83
[385]84// Graphique
[379]85PIStdImgApp* mApp; // Do not delete
[385]86PIAFitterWind* FWindFit; // Fenetre de config interactive
87// Objet a fitter
[1207]88string mNObj;
89NObjMgrAdapter* mAdObj; // Ne pas deleter
[385]90// Structure de data pour le fit, parametres et options
[379]91GeneralFitData* mGData;
[1207]92bool delmGData;
93int_4 mNPar,mNVar,mNData;
[379]94Vector mPar; Vector mStep; Vector mMin; Vector mMax; Vector mFix;
95Vector mParSave; Vector mStepSave; Vector mMinSave; Vector mMaxSave; Vector mFixSave;
96GeneralFit* mFit;
97DFOPTIONS mOpt;
98DFOPTIONS mOptSave;
[385]99// Gestion des fonctions de fit predefinies
100GeneralFunction* mFunction; string mFName;
101// Gestion de fonction de fit definie par l'utilisateur
102GeneralFunc* mFunc;
[384]103PDynLinkMgr* mDlUFunc;
104string mNameFitFunc;
105DlUserFitFunc mFitFunc;
106DlUserFitFuncDer mFitFuncDer;
[1091]107int_4 mUFNVar, mUFNPar;
[361]108};
109
110#endif
Note: See TracBrowser for help on using the repository browser.