begintemplate GC

public somagc, dend, synmt, priden, sampa, priden2

create somagc, priden2[3], dend[6], priden

objref synmt[3], sampa[3]

proc init() {

topol()
geometry()
segments()
memb()

}


proc topol() {local i
	connect priden(0), somagc(1)
	connect priden2[0](0), priden(.6)
	connect priden2[1](0), priden(.8)
	connect priden2[2](0), priden(.9)
	connect dend[0](0), dend[1](1)
	connect dend[1](0), priden2[0](0.5)
	connect dend[2](0), dend[3](1)
	connect dend[3](0), priden2[0](0.6)
	connect dend[4](0), dend[5](1)
	connect dend[5](0), priden2[0](0.4)
}

proc segments() {local i
	somagc.nseg= 1
	forsec "priden" nseg = 10
	forsec "dend" nseg = 1
}

proc geometry() {local i
	somagc { L = 8  diam = 8}
	dend[0] { L=1  diam=1}
	dend[2] { L=1  diam=1}
	dend[4] { L=1  diam=1}
	dend[1] { L=2  diam=.2}
	dend[3] { L=2  diam=.2}
	dend[5] { L=2  diam=.2}
	priden {L=150 diam=.5}
	for i=0, 2 {priden2[i] {L=100 diam=.4}}
	define_shape()
}
	


proc memb() {
	forall {
		insert pas 
		insert kamt gbar_kamt=0.008 ek=-90
		insert nax gbar_nax=0.02 sh_nax=15 ena=60
		Ra = 80
		cm = 1
		g_pas = 1/30000
		e_pas = -65
		ek = -90
	}

	forsec "soma" {
		gbar_nax=0.04
       		insert kdrmt gbar_kdrmt=0.006
		gbar_kamt = 0.004
		cm = 4
		g_pas = cm/30000
	}

	forsec "pri" {
		cm = 4
		g_pas = cm/30000
	}

dend[0] {
	synmt[0] = new nmdanet(1) 
	sampa[0] = new ExpSyn(1)
	sampa[0].e=0
	sampa[0].tau=3
	}

dend[2] {
	synmt[1] = new nmdanet(1) 
	sampa[1] = new ExpSyn(1)
	sampa[1].e=0
	sampa[1].tau=3
	}

dend[4] {
	synmt[2] = new nmdanet(1) 
	sampa[2] = new ExpSyn(1)
	sampa[2].e=0
	sampa[2].tau=3
	}
}

endtemplate GC