// The change to a connection coefficient gets changed back to
// its value determined by diam,L,Ra,topology after any change of any
// of those properties in any section.
// However the topology change implied by the traub_exact process is persistent.
// Thus one possibility is to do the traub_exact topology change
// along with the connection coefficient setting AFTER a complete setup
// that includes gaps, synapses, and stimuli, and then let NEURON do its
// thing in response to diam_changed,
// and then change all the connection coefficients.
// Another possiblity, which perhaps is not as efficient but is
// certainly simpler, is to
// let traub_exact do its thing on the creation of each cell, which will accomplish
// the persistent topology change, and save the info regarding the
// connection coefficients, and then fill them again after the complete setup.
// We choose the latter.

// for all cells
proc reset_connection_coefficients() {local i, gid, ix  localobj cell
	if (use_traubexact) {
		// do the topology first
		for pcitr(&i, &gid) {
			cell = pc.gid2cell(gid)
			ix = cell.type
			traubexact_topology(cell, traubExactInfo.tci[ix], traubExactInfo.traub_parent[ix])
		}
		doNotify()
		// now the coefficients
		for pcitr(&i, &gid) {
			cell = pc.gid2cell(gid)
			ix = cell.type
			traubexact_coef(cell, traubExactInfo.tci[ix], traubExactInfo.traub_parent[ix])
		}
	}
}