:Comment : LVA ca channel. Note: mtau is an approximation from the plots
:Reference : : Avery and Johnston 1996, tau from Randall 1997
:Comment: shifted by 10 mv to correct for junction potential
:Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21
NEURON {
SUFFIX Ca_LVAst
USEION ca READ eca, cai, cao WRITE ica
RANGE gCa_LVAstbar, gCa_LVAst, ica
GLOBAL use_ghk
}
UNITS {
(S) = (siemens)
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
gCa_LVAstbar = 0.00001 (S/cm2)
use_ghk = 0
}
ASSIGNED {
v (mV)
eca (mV)
cai (mM)
cao (mM)
ica (mA/cm2)
gCa_LVAst (S/cm2)
mInf
mTau
hInf
hTau
}
STATE {
m
h
}
UNITSOFF
FUNCTION ghk(v(mV), ci(mM), co(mM)) (mV) {
LOCAL nu,f
f = KTF(celsius)/2
nu = v/f
ghk=f*(1.  (ci/co)*exp(nu))*efun(nu)
}
FUNCTION KTF(celsius (degC)) (mV) {
KTF = ((25./293.15)*(celsius + 273.15))
}
FUNCTION efun(z) {
if (fabs(z) < 1e4) {
efun = 1  z/2
}else{
efun = z/(exp(z)  1)
}
}
UNITSON
BREAKPOINT {
SOLVE states METHOD cnexp
gCa_LVAst = gCa_LVAstbar*m*m*h
if (use_ghk == 0) {
ica = gCa_LVAst*(veca)
}
if (use_ghk == 1) {
ica = gCa_LVAst*(ghk(v,cai,cao)106)
}
}
DERIVATIVE states {
rates()
m' = (mInfm)/mTau
h' = (hInfh)/hTau
}
INITIAL{
rates()
m = mInf
h = hInf
}
PROCEDURE rates(){
LOCAL qt
qt = 2.3^((3421)/10)
UNITSOFF
v = v + 10
mInf = 1.0000/(1+ exp((v  30.000)/6))
mTau = (5.0000 + 20.0000/(1+exp((v  25.000)/5)))/qt
hInf = 1.0000/(1+ exp((v  80.000)/6.4))
hTau = (20.0000 + 50.0000/(1+exp((v  40.000)/7)))/qt
v = v  10
UNITSON
}
