17 "Conductance term going out to GHK object" );
24 "Sends channel variables Gk and Ek to compartment" );
31 "Channel current. This message typically goes to concen"
32 "objects that keep track of ion concentration." );
42 "Handles process call",
45 "Handles reinit call",
48 static Finfo* processShared[] =
54 "Shared message to receive Process message from scheduler",
55 processShared,
sizeof( processShared ) /
sizeof(
Finfo* ) );
60 "Handles Vm message coming in from compartment",
63 static Finfo* channelShared[] =
68 "This is a shared message to couple channel to compartment. "
69 "The first entry is a MsgSrc to send Gk and Ek to the compartment "
70 "The second entry is a MsgDest for Vm from the compartment.",
71 channelShared,
sizeof( channelShared ) /
sizeof(
Finfo* )
78 static Finfo* ghkShared[] =
83 "Message to Goldman-Hodgkin-Katz object",
84 ghkShared,
sizeof( ghkShared ) /
sizeof(
Finfo* ) );
91 "Maximal channel conductance",
96 "Modulation, i.e, scale factor for channel conductance."
97 "Note that this is a regular parameter, it is not "
98 "recomputed each timestep. Thus one can use a slow update, "
99 "say, from a molecule pool, to send a message to set "
100 "the modulation, and it will stay at the set value even if "
101 "the channel runs many timesteps before the next assignment. "
102 "This differs from the GENESIS semantics of a similar message,"
103 "which required update each timestep. ",
108 "Reversal potential of channel",
113 "Channel conductance variable",
118 "Channel current variable",
132 static Finfo* ChanBaseFinfos[] =
145 static string doc[] =
148 "Author",
"Upinder S. Bhalla, 2007-2014, NCBS",
149 "Description",
"ChanBase: Base class for assorted ion channels."
150 "Presents a common interface for all of them. ",
155 static Cinfo ChanBaseCinfo(
159 sizeof( ChanBaseFinfos )/
sizeof(
Finfo *),
162 sizeof(doc)/
sizeof(
string)
165 return &ChanBaseCinfo;
static const Cinfo * chanBaseCinfo
void setIk(const Eref &e, double Ic)
virtual void vSetIk(const Eref &e, double Ik)=0
virtual void vSetEk(const Eref &e, double Ek)=0
double getEk(const Eref &e) const
void setEk(const Eref &e, double Ek)
virtual double vGetGbar(const Eref &e) const =0
virtual double vGetGk(const Eref &e) const =0
virtual double vGetIk(const Eref &e) const =0
double getGk(const Eref &e) const
virtual void vSetGk(const Eref &e, double Gk)=0
double getModulation(const Eref &e) const
void setGk(const Eref &e, double Gk)
void reinit(const Eref &e, const ProcPtr info)
void setModulation(const Eref &e, double modulation)
void process(const Eref &e, const ProcPtr info)
static SrcFinfo1< double > * permeability()
virtual void vHandleVm(double Vm)=0
virtual void vReinit(const Eref &e, const ProcPtr info)=0
static SrcFinfo1< double > * IkOut()
virtual void vSetGbar(const Eref &e, double Gbar)=0
virtual void vSetModulation(const Eref &e, double modulation)=0
virtual double vGetModulation(const Eref &e) const =0
static SrcFinfo2< double, double > * channelOut()
void setGbar(const Eref &e, double Gbar)
static const Cinfo * initCinfo()
double getIk(const Eref &e) const
double getGbar(const Eref &e) const
static const Cinfo * initCinfo()
Specify the Class Info static variable for initialization.
virtual void vProcess(const Eref &e, const ProcPtr info)=0
virtual double vGetEk(const Eref &e) const =0