CSIM: ionchannel.h Source File

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 
00043 class IonChannel : public Advancable {
00044 
00045  public:
00046 
00047   // The constructor
00048   IonChannel(void) { Erev=0; g=0; membrane=0;};
00049 
00050   // The destructor
00051   virtual ~IonChannel(void) {} ;
00052 
00053   virtual void reset(void)=0;
00054 
00055   virtual int advance(void)=0;
00056 
00058   virtual void membraneSpikeNotify(double t)=0; // this is a spiking input!
00059 
00063   virtual double gInfty(void) {return 0;}
00064 
00065   virtual int addIncoming(Advancable *Incoming);
00066 
00067   virtual int addOutgoing(Advancable *Outgoing);
00068 
00070   float Erev; // this isn analog output
00071 
00073   double g;   // this is an analog output
00074 
00075 protected:
00076   friend class IonGate;
00077 
00079   MembranePatchSimple *membrane;
00080 };
00081 
00082 #endif
00083 
00084 

 
(C) 2003, Thomas Natschläger last modified 07/10/2006