Stimfit  0.13.15
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
funclib.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines