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