Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

euler.h

00001 /***************************************************************************
00002                           euler.h  -  description
00003                              -------------------
00004     copyright            : (C) 2001, 2002 by Matt Grover
00005     email                : mgrover@amygdala.org
00006  ***************************************************************************/
00007 
00008 /***************************************************************************
00009  *                                                                         *
00010  *   This program is free software; you can redistribute it and/or modify  *
00011  *   it under the terms of the GNU General Public License as published by  *
00012  *   the Free Software Foundation; either version 2 of the License, or     *
00013  *   (at your option) any later version.                                   *
00014  *                                                                         *
00015  ***************************************************************************/
00016 #ifndef EULER_H
00017 #define EULER_H
00018 
00019 
00030 class Euler {
00031 public:
00039     Euler(unsigned int step,
00040             unsigned int min,
00041             unsigned int max,
00042             float synapticTimeConst,
00043             float membraneTimeConst);
00044             
00045     ~Euler();
00046     
00052     void GenExcitatoryTable(int resolution, float* tbl, float* derivTbl);
00053     
00059     void GenInhibitoryTable(int resolution, float* tbl, float* derivTbl);
00060     
00061 protected:
00064     inline void AlphaExcite();
00065     
00068     inline void AlphaInhibit();
00069     
00070     unsigned int stepSize;  // step size in microseconds
00071     unsigned int plotMin;   // begining of plot (usually 0) in microseconds
00072     unsigned int plotMax;
00073     unsigned int plotSize;
00074     float* plotData;        // array holding data points from integration
00075     float* plotDeriv;       // derivative of plotData
00076 
00077     long time;              // current time in microseconds
00078     float lastV;            // milivolts
00079     float currV;            // milivolts
00080     float lastSlope;
00081     float currSlope;
00082     float tauS;             // synaptic time constant (in microseconds)
00083     float tauM;             // membrane time constant (in microseconds)
00084 };
00085 
00086 #endif

Generated on Wed Sep 4 02:30:34 2002 for Amygdala by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002