NEURON { POINT_PROCESS isyn RANGE del, amp, tau1, tau2, i, factor ELECTRODE_CURRENT i } UNITS { (nA) = (nanoamp) (mV) = (millivolt) } PARAMETER { del=0 (ms) tau1=.5 (ms) <1e-3,1e6> tau2=1 (ms) <1e-3,1e6> amp=0 (nA) <0,1e9> factor } ASSIGNED { v (mV) i (nA) } INITIAL { if (tau1==tau2) { tau1 = tau1*0.999 } factor = -1*((tau2/tau1)^(tau2/(tau1-tau2)))*((tau2-tau1)/tau1) } BREAKPOINT { if (amp) { at_time(del) } i = twoexp( (t - del) ) } FUNCTION twoexp(x(ms)) (nA) { if (x < 0 || x/tau2 > 10) { twoexp = 0 }else{ twoexp = -amp/factor*(exp(-x/tau2)-exp(-x/tau1)) } }