00001 #include<fstream> 00002 #include<stdio.h> 00003 #include<string> 00004 00005 using namespace std; 00006 00007 00008 #ifndef TRUE 00009 #define TRUE 1 00010 #define FALSE 0 00011 #endif 00012 00013 typedef struct 00014 { 00015 // experimental data 00017 char *fileName; 00019 long nobs; 00024 long nvar; 00025 00026 // the actual data 00028 long nMeasure; 00033 double *xMeasure; 00039 double **yMeasure; 00044 double **sigma; 00046 double fitstart, fitend; 00048 long firstMeasure; 00050 long lastMeasure; 00051 // multiple shooting data 00056 long nPoints; 00061 double *mesh; 00066 double **yTry,**yTrySave; 00068 long me; 00070 long mg; 00071 00072 // data obtained by integration 00074 double objF; 00079 double **yComp; 00084 double **yPred; 00090 double **h; 00096 double **residues; 00101 double *r2; 00106 double *r3; 00112 double ***dyds; 00118 double ***dydp; 00124 double ***dmds; 00130 double ***dmdp; 00136 double ***dR2ds; 00142 double **dR2dp; 00148 double ***dR3ds; 00154 double **dR3dp; 00159 double *ua,**Ea,**Pa; 00164 double *ue,**Ee,**Pe; 00169 double *ug,**Eg,**Pg; 00174 double *y0; 00180 double *par; 00181 double **dS; 00182 double *dP; 00184 string *splineFile; 00186 double **splineNodes; 00188 double **splineY; 00190 double **splineGam; 00192 unsigned long *nNodes; 00194 int splinesDefined; 00195 double *errP; 00196 double *errY0; 00197 } GlobExp; 00198 00199 typedef struct 00200 { 00201 //flags 00203 int noGnu; 00204 int noMeasurements; 00206 int wait; 00208 int usesig; 00210 int integrator; 00211 int stiff; 00213 int nowait; 00215 int reg; 00217 int simInit; 00219 int nodamp; 00220 //all the rest 00222 long npar; 00224 long maxit; 00226 long nIter; 00228 int nrExp; 00237 int *doP; 00242 double **covar; 00244 double chisq; 00246 double eps; 00248 long rkqs_ign; 00250 int maxstp; 00252 double minimp; 00257 double elastic; 00258 double epsilon; 00259 double lambda; 00261 double dt; 00263 double sig; 00265 double pert; 00273 int *y0fix; 00274 //damping section 00276 double wquer; 00277 00278 //GNUplot 00280 FILE **gnuFp; 00282 long ngnu; 00284 long gnuindex; 00288 long fitdim; 00290 int initSpline; 00292 int fitConverged; 00296 double cond; 00300 double Lambda; 00303 int silent; 00307 int strategy; 00308 00309 int minimiser; 00310 00311 int faktorLexist; 00312 double *faktorL; 00313 } Glob; 00314 00315 /* DEBUG stream */ 00316 extern ofstream *dbg; 00317