NEURON { SUFFIX vmax2 RANGE vm RANGE vap RANGE vt RANGE vtm RANGE vtl RANGE vth RANGE tsave } PARAMETER { vth = 0 (millivolt/ms) delay = 1 (ms) vtscale = 0.1 (1) } ASSIGNED { dt (ms) v (millivolt) vap (millivolt) vlast (millivolt) vm (millivolt) vt (millivolt/ms) vtm (millivolt/ms) vtl (millivolt/ms) tsave (ms) } INITIAL { vm = v vlast = v vap = 0 (millivolt) vt = 0 (millivolt/ms) vtl = 0 (millivolt/ms) vtm = 0 (millivolt/ms) tsave = 0 (ms) } BREAKPOINT { if (v>vm) { vm=v } if (dt>0 (ms)) { vt=(v-vlast)/dt if (vt>vth && vtm2*delay && vt>vtm) { vtm = vt } vtl=vt vlast=v } }