Kim Ha wrote:I build the model with some neurons (I choose "network cell/ from cell builder" to build them.
So your model cells are built from sections, and they have membrane capacitance, ion channels, and membrane potential. I'd call these "biophysical model cells" because they involve direct representations of the biophysical properties of real cells. Artificial spiking cells are much simpler--they are "integrate and fire models" that mathematicians and physicists prefer because the equations that describe them often have analytical solutions, unlike the equations that describe biophysical model cells.
In NEURON, artificial spiking cells generate events, so in order to monitor such a cell for spikes it is sufficient to tell the NetCon the name of the cell, and that's what this statement does:
tmp = new NetCon(cell1, nil)
But to monitor a biophysical model cell for spikes, you have to tell the NetCon which of the cell's variables it should watch. Usually the variable is membrane potential. If you have a single compartment model called soma, the syntax would be
soma tmp = new NetCon(&v(0.5), nil)
and if the cell is an instance of a cell class called Cell and has a section called axon, the syntax would be something like
Cell[0].axon tmp = new NetCon(&v(1), nil)
(v(1) because you probably want to watch membrane potential at the distal end--the 1 end--of axon).
There is one more detail that I must mention. To save space on the Network Builder's canvas, that tool shows "nicknames" instead of the real hoc names of the model cells. For example, right now I made a toy network with just one class of biophysical model cell. The NetReadyCellGUI tool tells me the "Cell Name" is "L" and that's also the name I see on the Network Builder's canvas (well, I see L0, L1 etc.). But hoc doesn't know about L0 or L1; it knows these cells by other names. To find out what those names are, click on the Network Builder's "Net Variables" button and select "Show Map". This pops up a panel that has the string "NetGUI[0] name <-> Instance Name" in its drag bar, and below that I see
so the hoc names for my cells are really L_Cell[0] and L_Cell[1] and I'd attach a NetCon to L_Cell[0] with a syntax like this
L_Cell[0].soma tmp = new NetCon(&v(0.5), nil)
I'm sorry if this seems complicated.