# HHGate¶

class HHGate

HHGate: Gate for Hodkgin-Huxley type channels, equivalent to the m and h terms on the Na squid channel and the n term on K. This takes the voltage and state variable from the channel, computes the new value of the state variable and a scaling, depending on gate power, for the conductance.

getA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlpha()

(destination message field) Assigns field value.

getAlpha()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBeta()

(destination message field) Assigns field value.

getBeta()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMInfinity()

(destination message field) Assigns field value.

getMInfinity()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMin()

(destination message field) Assigns field value.

getMin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMax()

(destination message field) Assigns field value.

getMax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDivs()

(destination message field) Assigns field value.

getDivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableA()

(destination message field) Assigns field value.

getTableA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableB()

(destination message field) Assigns field value.

getTableB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setUseInterpolation()

(destination message field) Assigns field value.

getUseInterpolation()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlphaParms()

(destination message field) Assigns field value.

getAlphaParms()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setupAlpha()

(destination message field) Set up both gates using 13 parameters, as follows:setupAlpha AA AB AC AD AF BA BB BC BD BF xdivs xmin xmaxHere AA-AF are Coefficients A to F of the alpha (forward) termHere BA-BF are Coefficients A to F of the beta (reverse) termHere xdivs is the number of entries in the table,xmin and xmax define the range for lookup.Outside this range the returned value will be the low [high]entry of the table.The equation describing each table is:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

setupTau()

(destination message field) Identical to setupAlpha, except that the forms specified bythe 13 parameters are for the tau and m-infinity curves ratherthan the alpha and beta terms. So the parameters are:setupTau TA TB TC TD TF MA MB MC MD MF xdivs xmin xmaxAs before, the equation describing each curve is:y(x) = (A + B * x) / (C + exp((x + D) / F))

tweakAlpha()

(destination message field) Dummy function for backward compatibility. It used to convertthe tables from alpha, beta values to alpha, alpha+betabecause the internal calculations used these forms. Notneeded now, deprecated.

tweakTau()

(destination message field) Dummy function for backward compatibility. It used to convertthe tables from tau, minf values to alpha, alpha+betabecause the internal calculations used these forms. Notneeded now, deprecated.

setupGate()

(destination message field) Sets up one gate at a time using the alpha/beta form.Has 9 parameters, as follows:setupGate A B C D F xdivs xmin xmax is_betaThis sets up the gate using the equation:y(x) = (A + B * x) / (C + exp((x + D) / F))Deprecated.

alpha

vector<double> (value field) Parameters for voltage-dependent rates, alpha:Set up alpha term using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

beta

vector<double> (value field) Parameters for voltage-dependent rates, beta:Set up beta term using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

tau

vector<double> (value field) Parameters for voltage-dependent rates, tau:Set up tau curve using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))

mInfinity

vector<double> (value field) Parameters for voltage-dependent rates, mInfinity:Set up mInfinity curve using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

min

double (value field) Minimum range for lookup

max

double (value field) Minimum range for lookup

divs

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

tableA

vector<double> (value field) Table of A entries

tableB

vector<double> (value field) Table of alpha + beta entries

useInterpolation

bool (value field) Flag: use linear interpolation if true, else direct lookup

alphaParms

vector<double> (value field) Set up both gates using 13 parameters, as follows:setupAlpha AA AB AC AD AF BA BB BC BD BF xdivs xmin xmaxHere AA-AF are Coefficients A to F of the alpha (forward) termHere BA-BF are Coefficients A to F of the beta (reverse) termHere xdivs is the number of entries in the table,xmin and xmax define the range for lookup.Outside this range the returned value will be the low [high]entry of the table.The equation describing each table is:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

A

double,double (lookup field) lookupA: Look up the A gate value from a double. Usually doesso by direct scaling and offset to an integer lookup, usinga fine enough table granularity that there is little error.Alternatively uses linear interpolation.The range of the double is predefined based on knowledge ofvoltage or conc ranges, and the granularity is specified bythe xmin, xmax, and dV fields.

B

double,double (lookup field) lookupB: Look up the B gate value from a double.Note that this looks up the raw tables, which are transformedfrom the reference parameters.