Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ionchannel.h

Go to the documentation of this file.
00001 
00005 #ifndef _IONCHANNEL_H_
00006 #define _IONCHANNEL_H_
00007 
00008 #include "globaldefinitions.h"
00009 #include "advanceable.h"
00010 #include "membranepatchsimple.h"
00011 
00012 class CbNeuron;
00013 class MembranePatchSimple;
00014 
00016 
00047 class IonChannel : public Advancable {
00048 
00049  public:
00050 
00051   // The constructor
00052   IonChannel(void) { Erev=0; g=0; membrane=0;};
00053 
00054   // The destructor
00055   virtual ~IonChannel(void) {} ;
00056 
00057   virtual void reset(void)=0;
00058 
00059   virtual int advance(void)=0;
00060 
00062   virtual void membraneSpikeNotify(double t)=0; // this is a spiking input!
00063 
00067   virtual double gInfty(void) {return 0;}
00068 
00069   virtual int addIncoming(Advancable *Incoming);
00070 
00071   virtual int addOutgoing(Advancable *Outgoing);
00072 
00074   float Erev; // this isn analog output
00075 
00077   double g;   // this is an analog output
00078 
00079 protected:
00080   friend class IonGate;
00081 
00083   MembranePatchSimple *membrane;
00084 };
00085 
00086 #endif
00087 
00088