00001 #ifndef __ACTIVECHANEL_H__ 00002 #define __ACTIVECHANEL_H__ 00003 00004 #include "ionchannel.h" 00005 #include "membranepatchsimple.h" 00006 00007 class IonGate; 00008 00010 00031 class ActiveChannel : public IonChannel { 00032 00033 DO_REGISTERING 00034 00035 public: 00036 00037 ActiveChannel(void); 00038 00039 virtual ~ActiveChannel(void); 00040 00042 float Gbar; 00043 00044 virtual int updateInternal(void); 00045 00046 virtual void reset(void); 00047 00048 virtual int advance(void); 00049 00050 virtual double gInfty(void); 00051 00052 virtual void membraneSpikeNotify(double ) { }; 00053 00054 virtual int addIncoming(Advancable *Incoming); 00055 00056 virtual int addOutgoing(Advancable *Outgoing); 00057 00058 protected: 00059 00060 virtual void addGate(IonGate *gate); 00061 00063 int nGates; 00064 00066 int lGates; 00067 IonGate **gates; 00068 00069 private: 00070 00071 }; 00072 00073 #endif