// zapstimu.hoc, based on zapstim.hoc
/* The stimulus is generated by an instance of the Fzap class
(a point process that produces a sine wave of user-specified duration and
amplitude, that sweeps over a range of frequencies at a constant rate).
For each section that has the xtra mechanism, this waveform
is used to drive is_xtra.
The transfer resistance rx_xtra takes care of the
amplitude and sign of the local extracellular field.
*/
// default values
DEL = 2000 // ms
DUR = 4000 // ms
F0 = 50 // Hz
F1 = 50 // Hz
// AMP = 1 // nA
AMP = 500 // V/m
objref fz
fz = new Fzap(0.5)
// setpointer fz.x, is_xtra(0.5)
// setpointer fz.x, is_xtra
setpointer fz.x, E_xtrau
proc setstim() {
fz.del = $1
fz.dur = $2
fz.f0 = $3
fz.f1 = $4
fz.amp = $5
}
setstim(DEL, DUR, F0, F1, AMP)
print "Use setstim(DEL, DUR, F0, F1, AMP) to change latency (ms), duration (ms),"
print "start and end frequency (Hz), and amplitude (V/m) of applied electrical field."
/*
xpanel("Applied Electrical Field", 0)
xvalue("del (ms)", "DEL", 1, "setstim(DEL,DUR,F0,F1,AMP)", 0, 1)
xvalue("dur (ms)", "DUR", 1, "setstim(DEL,DUR,F0,F1,AMP)", 0, 1)
xvalue("start f (Hz)", "F0", 1, "setstim(DEL,DUR,F0,F1,AMP)", 0, 1)
xvalue("end f (Hz)", "F1", 1, "setstim(DEL,DUR,F0,F1,AMP)", 0, 1)
xvalue("amp (V/m)", "AMP", 1, "setstim(DEL,DUR,F0,F1,AMP)", 0, 1)
xpanel(73,497)
*/