What I meant to write was this:
"NetCon threshold has no effect when the 'spike source' (presynaptic cell) is an artificial spiking cell that uses net_event to produce output events, as NEURON's built-in IntFire1, IntFire2, and IntFire4 do. The reason is that such artificial spiking cells perform their own test for threshold crossing in their NET_RECEIVE block."
In your template, the statements
objref Source
Source = $o1
and
TempNetCon0 = new NetCon(Source,TempIntFire,Threshold1,0,Wgt)
make sense only if you expect the presynaptic cell for this new NetCon to be an artificial spiking cell.
And in these statements
TempNetCon1 = new NetCon(TempIntFire,OutStim,Thrsd,0,2)
TempNetCon2 = new NetCon(TempIntFire,OutStim,Thrsd,0.001,1)
it is quite clear that the presynaptic cell for these NetCons is an artificial spiking cell. So the values assigned to Threshold1 and Thrsd will have no effect on the operation of the microcircuit that the template creates.
As I look more closely at the template, I'm not sure I understand how it fits in with the original question you asked--it seems to have additional complexity that isn't directly related to the design goal of having something that passes every Nth input event.
henrychen1986 wrote:If the source of the TempNetCon0 in my code is membrane voltage from a cell, ranged from -65 mV to 25 mV. What is the best way to assign a threshold as -10mV?
The first question is how tell TempNetCon0 that it should be monitoring membrane potential in a section. For this, the Source objref is not useful--get rid of it. Instead, you want to have this statement in the template's init() procedure
TempNetCon0 = new NetCon(&v($1), TempIntFire,Threshold1,0,Wgt)
It is then necessary to create each new instance of the PRelease class in the context of a currently accessed section, as in this example
Code: Select all
objref pr
axon pr = new PRelease(1, . . . ) // axon is part of a "top level" model cell
or this one
Code: Select all
ca1pyr.soma pr = new PRelease(0.5, . . . ) // ca1pyr is an instance of a cell class
// and soma is the name of a section that is a public member of that cell class
where the first argument to PRelease is the location on the currently accessed section at which you want to monitor membrane potential.
Are you trying to implement a model that includes probabilistic transmitter release? If that's the case, there is a much better way to proceed.