Stimfit
0.13.15
|
00001 // This program is free software; you can redistribute it and/or 00002 // modify it under the terms of the GNU General Public License 00003 // as published by the Free Software Foundation; either version 2 00004 // of the License, or (at your option) any later version. 00005 00006 // This program is distributed in the hope that it will be useful, 00007 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00008 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00009 // GNU General Public License for more details. 00010 00011 // You should have received a copy of the GNU General Public License 00012 // along with this program; if not, write to the Free Software 00013 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00014 00021 #ifndef _FUNCLIB_H 00022 #define _FUNCLIB_H 00023 00024 // common definitions needed here: 00025 #include "./../stf.h" 00026 00027 namespace stf { 00028 00033 00034 00044 double fexp(double x, const Vector_double& p); 00045 00047 00064 Vector_double fexp_jac(double x, const Vector_double& p); 00065 00067 00076 void fexp_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00077 00079 00089 void fexp_init2(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00090 00092 00107 double fexpde(double x, const Vector_double& p); 00108 00109 #if 0 00110 00111 00145 Vector_double fexpde_jac(double x, const Vector_double& p); 00146 #endif 00147 00149 00156 void fexpde_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00157 00158 00160 00176 double fexpbde(double x, const Vector_double& p); 00177 00178 #if 0 00179 00180 00214 Vector_double fexpbde_jac(double x, const Vector_double& p); 00215 #endif 00216 00218 00225 void fexpbde_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00226 00228 00236 double falpha(double x, const Vector_double& p); 00237 00239 00255 Vector_double falpha_jac(double x, const Vector_double& p); 00256 00258 00267 double fHH(double x, const Vector_double& p); 00268 00270 00282 double fgauss(double x, const Vector_double& p); 00283 00285 Vector_double fgauss_jac(double x, const Vector_double& p); 00286 00288 00297 double fgnabiexp(double x, const Vector_double& p); 00298 00300 00325 Vector_double fgnabiexp_jac(double x, const Vector_double& p); 00326 00328 00335 void falpha_init(const Vector_double& data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double& pInit ); 00336 00338 00345 void fgauss_init(const Vector_double& data, double base, double peak, double RTLoHI, double HalfWidth, double dt, Vector_double& pInit ); 00346 00348 00355 void fHH_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00356 00358 00365 void fgnabiexp_init(const Vector_double& data, double base, double peak, double RTLoHi, double HalfWidth, double dt, Vector_double& pInit ); 00366 00368 00375 double xscale(double param, double xscale, double xoff, double yscale, double yoff); 00376 00378 00385 double xunscale(double param, double xscale, double xoff, double yscale, double yoff); 00386 00388 00394 double yscale(double param, double xscale, double xoff, double yscale, double yoff); 00395 00397 00403 double yscaleoffset(double param, double xscale, double xoff, double yscale, double yoff); 00404 00406 00413 double yunscale(double param, double xscale, double xoff, double yscale, double yoff); 00414 00416 00423 double yunscaleoffset(double param, double xscale, double xoff, double yscale, double yoff); 00424 00426 00429 std::vector<stf::parInfo> getParInfoExp(int n_exp); 00430 00432 00437 stf::Table outputWTau(const Vector_double& p, const std::vector<stf::parInfo>& parsInfo, double chisqr); 00438 00440 00444 std::size_t whereis(const Vector_double& data, double value); 00445 00447 00449 std::vector<stf::storedFunc> GetFuncLib(); 00450 00453 } 00454 00455 #endif