begintemplate ToneGen public tone_freq,tone_start,tone_duration,tone_total_length,tone_trial_number,refractory_period,tone_netstim,tone_turn,intfire1,TempNetCon1,TempNetCon2,TempNetCon3,TempNetCon4 objref tone_netstim,tone_turn,intfire1,TempNetCon1,TempNetCon2,TempNetCon3 proc init() { tone_freq = $1 tone_start = $2 tone_on_time = $3 tone_off_time = $4 tone_trial_number = $5 refractory_period = $6 timestep = $7 refractory_period = refractory_period - timestep tone_total_length = (tone_on_time + tone_off_time)*tone_trial_number tone_netstim = new NetStim() tone_netstim.interval = 1000/tone_freq tone_netstim.number = tone_total_length*tone_freq/1000 tone_netstim.start = tone_start+tone_off_time tone_netstim.noise = 0 tone_turn = new NetStim() tone_turn.interval = tone_on_time+tone_off_time tone_turn.number = tone_trial_number tone_turn.start = tone_start+tone_off_time tone_turn.noise = 0 intfire1 = new IntFire1() intfire1.tau = 1e9 intfire1.refrac = refractory_period intfire1.m = 0 intfirewgt = 1+(1e-9) TempNetCon1 = new NetCon(tone_turn,tone_netstim,0.5,0,1) TempNetCon2 = new NetCon(tone_turn,tone_netstim,0.5,tone_on_time,-1) TempNetCon3 = new NetCon(tone_netstim,intfire1,0.5,0,intfirewgt) } endtemplate ToneGen begintemplate ToneGen0 public tone_freq,tone_start,tone_duration,tone_total_length,tone_trial_number,refractory_period,tone_netstim,tone_turn,intfire1,TempNetCon1,TempNetCon2,TempNetCon3,TempNetCon4 objref tone_netstim,tone_turn,intfire1,TempNetCon1,TempNetCon2,TempNetCon3 proc init() { tone_freq = $1 tone_start = $2 tone_on_time = $3 tone_off_time = $4 tone_trial_number = $5 refractory_period = $6 timestep = $7 refractory_period = refractory_period - timestep tone_total_length = (tone_on_time + tone_off_time)*tone_trial_number tone_netstim = new NetStim() tone_netstim.interval = 1000/tone_freq tone_netstim.number = tone_total_length*tone_freq/1000 tone_netstim.start = tone_start+tone_off_time tone_netstim.noise = 0 tone_turn = new NetStim() tone_turn.interval = tone_on_time+tone_off_time tone_turn.number = tone_trial_number tone_turn.start = tone_start+tone_off_time tone_turn.noise = 0 intfire1 = new IntFire1() intfire1.tau = 1e9 intfire1.refrac = refractory_period intfire1.m = 0 intfirewgt = 1+(1e-9) TempNetCon1 = new NetCon(tone_turn,tone_netstim,0.5,0,1) TempNetCon2 = new NetCon(tone_turn,tone_netstim,0.5,tone_on_time,-1) TempNetCon3 = new NetCon(tone_netstim,intfire1,0.5,0,intfirewgt) } endtemplate ToneGen0