//J. Berzhanskaya 2D network model of CA1  OPB//
// with full 3D P cell morphology and reduced O and B cells //
// Neuron 5.7, 2007-2009//
//Neuron 7.0 2012//
//Variables//



create acell_home_
  access acell_home_

proc model_globals(){
	// External Stimulus Properties
	pw=2000		//msec//
	delay=10 	//msec//
	//rhoa=100 	//Ohm-cm//
rho = 35.4 //excres

	// Internal Current Clamp
// do not change. this vlaue used in mult cells
	Istim=0   	//nA//	//.26
	intpw=2000	//ms//
	intdel=50	//ms//	//600

	tstop=1300	//msec//
	dt=0.025	//msec//

	celsius=35	//degC//
	spacer = .01 //Lambda space constant multiplier//

	mult1 = 1	//Channel density in linear region (slope od density line)
	mult2 = 1	//Overall channel density (effects all sections of cell equally)
	
//julia hchannel
     // ghd=0.00005  
//back
	lineardist = 0	//Used to show which type of channel distribution is active
	uniformdist = 0
	pasonly = 1

stimtypenosource =1
	stimtypefield = 0
	stimtypepoint = 0
	stimtypeline = 0


	//Uniform Field
	efield=-30	//mV/mm//
	theta=0.0	//radians//

// IClamp globals
Istim0=0.23		//nA// was 0.05 for other than 1 cluster

	Istim1=0.20		//nA// was 0.07
        Istim2=0.22		//nA// was 0.08
        Istim3=0.21		//nA// was 0.05

//Ostim1=0.009
//Ostim2=0.008
//Ostim3=0.009
//OStim1=0.010
//OStim2=0.009
//OStim3=0.010
OStim1=0.011
OStim2=0.010
OStim3=0.011



//Channel Parameters and Variables//

mid=12
//dist=27
secondorder=2
FARADAY=96520
PI=3.14159

//Membrane Resistance

Rm = 28000
RmDend = Rm/2 //XS 
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2 //XS 


														
//Axial Resistance

RaAll= 150 //XS 
RaSoma=150  

RaAll= 80 //XS 
RaSoma=80  


//Parameters

Vrest = -65
gna =  .02
gkdr = 0.01


KMULT =  0.025
KMULTP = 0.025
//julia synapse
totSyn=10
totSyn=30



TAU1=0.5
TAU2=5
ndend=196

}
//end globals

model_globals()
numelements=ndend+1		//Total objects, dendrites + soma

Nel=10
Tsteps=6000
ncells=20

objref fname1, fname2, datafile
objref rxobj 
objref rc, rc1, rc2, rc3, rc4, wts1 
rxobj = new Matrix(numelements,Nel)


//to hold external rec matrix at the current time step
objref vrecMat, vrecMat2, vrecVec[ncells]

vrecMat = new Matrix(Tsteps, Nel)
vrecMat2 = new Matrix(Tsteps, Nel)

for i=0,ncells-1{
vrecVec[i] = new Vector(Nel)
}


objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 

// elctrode matrix
objref xcEl
objref ycEl
objref zcEl
xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)


XE = 50  
YE = 0
ZE = 0

create electrode

objectvar intstim
objref exIClmp1
objref mobj			//extracellular voltage
objref xobj			//x coords
objref yobj			//y coords
objref zobj			//z coords
objref vobj			//number of segments in each branch
objref vectype		//Apical or basal
totSyn=10
totSyn=30

//objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
//objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 
double  synWt[totSyn]                       //julia_XXweight



numelements=ndend+1		//Total objects, dendrites + soma



begintemplate Cell_Cell

// Cell_Cell is P-cell

public is_art
public init, topol, basic_shape, subsets, geom, biophys, setrxRec, setRecMat
public synlist, x, y, z, position, connect2target, rxobj
public fieldrec1, fieldrec, maxn3d , pasinit
public fieldextstimulus, noextstimulus
public wts1
//totSyn=90
totSyn=30
ndend=196
numelements=ndend+1		//Total objects, dendrites + soma
Nel=10
Tsteps=6000
//efield=-30	//mV/mm//
theta=0.0 //rad
XE = 50  
YE = 0
ZE = 0


objref Ens, syn, nc // julia_XX synapse
objref Ens2, syn2, nc2 
objref Ens[totSyn], syn[totSyn], nc[totSyn] // julia_XX synapse
objref Ens2[totSyn], syn2[totSyn], nc2[totSyn] 
objref exIClmp1
objref r
objref xcEl
objref ycEl
objref zcEl
xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)
for n=0,Nel-1 {
xcEl.x[n]=XE
zcEl.x[n]=ZE
ycEl.x[n]=YE
               }

               //objref wts1

public soma, dendTot, dendrite, apical_dendrite, user5
public all, SecList2


TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 //"3": counting start at 0

objref rc, rc1, rc2, rc3, rc4 //Random gen
objref synlist, syn_

proc init() {

  topol()
  subsets()
  geom()
  biophys()
  geom_nseg()
  maxn3d()
  synlist = new List()

  x = y = z = 0 // only change via position
}

create soma
create dendrite[44]//basal dendrite
create apical_dendrite[75]
create user5[77]
objref dendTot[196]
objref vobj, xobj,yobj, zobj, mobj, r, rxobj




//Quadratic_fitting_results_Type_I_model (Li, Ascoli):	
A0 = 0.00611126
B0 = 82.5413

A= A0
B= B0



// morphology to be loaded from the file
proc topol() { 
{soma connect dendrite[0](0), 1}
{dendrite[0] connect dendrite[1](0), 1}
{dendrite[0] connect dendrite[2](0), 1}
{dendrite[2] connect dendrite[3](0), 1}
{dendrite[2] connect dendrite[4](0), 1}
{soma connect dendrite[5](0), 1}
{dendrite[5] connect dendrite[6](0), 1}
{dendrite[6] connect dendrite[7](0), 1}
{dendrite[6] connect dendrite[8](0), 1}
{dendrite[5] connect dendrite[9](0), 1}
{dendrite[9] connect dendrite[10](0), 1}
{dendrite[10] connect dendrite[11](0), 1}
{dendrite[10] connect dendrite[12](0), 1}
{dendrite[12] connect dendrite[13](0), 1}
{dendrite[12] connect dendrite[14](0), 1}
{dendrite[9] connect dendrite[15](0), 1}
{soma connect dendrite[16](0), 1}
{dendrite[16] connect dendrite[17](0), 1}
{dendrite[17] connect dendrite[18](0), 1}
{dendrite[18] connect dendrite[19](0), 1}
{dendrite[18] connect dendrite[20](0), 1}
{dendrite[17] connect dendrite[21](0), 1}
{dendrite[16] connect dendrite[22](0), 1}
{soma connect dendrite[23](0), 1}
{dendrite[23] connect dendrite[24](0), 1}
{dendrite[24] connect dendrite[25](0), 1}
{dendrite[25] connect dendrite[26](0), 1}
{dendrite[26] connect dendrite[27](0), 1}
{dendrite[26] connect dendrite[28](0), 1}
{dendrite[28] connect dendrite[29](0), 1}

{dendrite[28] connect dendrite[30](0), 1}


{dendrite[25] connect dendrite[31](0), 1}

{dendrite[24] connect dendrite[32](0), 1}
{dendrite[32] connect dendrite[33](0), 1}
{dendrite[33] connect dendrite[34](0), 1}
{dendrite[33] connect dendrite[35](0), 1}
{dendrite[32] connect dendrite[36](0), 1}

{dendrite[23] connect dendrite[37](0), 1}
{dendrite[37] connect dendrite[38](0), 1}

{dendrite[38] connect dendrite[39](0), 1}

{dendrite[38] connect dendrite[40](0), 1}
{dendrite[37] connect dendrite[41](0), 1}
{dendrite[41] connect dendrite[42](0), 1}
{dendrite[41] connect dendrite[43](0), 1}
{soma connect user5[0](0), 1}
{user5[0] connect user5[1](0), 1}
{user5[1] connect user5[2](0), 1}
{user5[2] connect user5[3](0), 1}

{user5[3] connect user5[4](0), 1}

{user5[4] connect user5[5](0), 1}
{user5[5] connect user5[6](0), 1}
{user5[6] connect user5[7](0), 1}

{user5[7] connect user5[8](0), 1}

{user5[8] connect user5[9](0), 1}

{user5[9] connect user5[10](0), 1}

{user5[10] connect user5[11](0), 1}
{user5[11] connect user5[12](0), 1}
{user5[12] connect user5[13](0), 1}

{user5[13] connect user5[14](0), 1}

{user5[14] connect user5[15](0), 1}

{user5[15] connect user5[16](0), 1}


{user5[15] connect user5[17](0), 1}

{user5[14] connect user5[18](0), 1}

{user5[13] connect user5[19](0), 1}

{user5[19] connect user5[20](0), 1}
{user5[20] connect user5[21](0), 1}

{user5[20] connect user5[22](0), 1}

{user5[19] connect user5[23](0), 1}

{user5[12] connect user5[24](0), 1}

{user5[11] connect apical_dendrite[0](0), 1}

{user5[10] connect apical_dendrite[1](0), 1}
{apical_dendrite[1] connect apical_dendrite[2](0), 1}

{apical_dendrite[1] connect apical_dendrite[3](0), 1}

{user5[9] connect apical_dendrite[4](0), 1}

{apical_dendrite[4] connect apical_dendrite[5](0), 1}

{apical_dendrite[4] connect apical_dendrite[6](0), 1}

{user5[8] connect apical_dendrite[7](0), 1}
{user5[7] connect apical_dendrite[8](0), 1}

{user5[6] connect apical_dendrite[9](0), 1}

{user5[5] connect apical_dendrite[10](0), 1}

{user5[4] connect apical_dendrite[11](0), 1}

{user5[3] connect apical_dendrite[12](0), 1}
{user5[2] connect apical_dendrite[13](0), 1}

{apical_dendrite[13] connect apical_dendrite[14](0), 1}

{apical_dendrite[14] connect apical_dendrite[15](0), 1}

{apical_dendrite[14] connect apical_dendrite[16](0), 1}

{apical_dendrite[13] connect apical_dendrite[17](0), 1}

{user5[1] connect apical_dendrite[18](0), 1}

{apical_dendrite[18] connect apical_dendrite[19](0), 1}
{apical_dendrite[19] connect apical_dendrite[20](0), 1}

{apical_dendrite[19] connect apical_dendrite[21](0), 1}

{apical_dendrite[21] connect apical_dendrite[22](0), 1}

{apical_dendrite[21] connect apical_dendrite[23](0), 1}

{apical_dendrite[18] connect apical_dendrite[24](0), 1}

{user5[0] connect user5[25](0), 1}
{user5[25] connect user5[26](0), 1}

{user5[26] connect user5[27](0), 1}

{user5[27] connect user5[28](0), 1}

{user5[28] connect user5[29](0), 1}

{user5[29] connect user5[30](0), 1}

{user5[30] connect user5[31](0), 1}

{user5[31] connect user5[32](0), 1}

{user5[32] connect user5[33](0), 1}

{user5[33] connect user5[34](0), 1}

{user5[34] connect user5[35](0), 1}

{user5[35] connect user5[36](0), 1}
{user5[36] connect user5[37](0), 1}
{user5[37] connect user5[38](0), 1}

{user5[38] connect user5[39](0), 1}

{user5[39] connect user5[40](0), 1}

{user5[39] connect user5[41](0), 1}

{user5[38] connect user5[42](0), 1}

{user5[42] connect user5[43](0), 1}
{user5[42] connect user5[44](0), 1}

{user5[37] connect apical_dendrite[25](0), 1}

{user5[36] connect user5[45](0), 1}

{user5[35] connect apical_dendrite[26](0), 1}

{user5[34] connect apical_dendrite[27](0), 1}

{user5[33] connect apical_dendrite[28](0), 1}

{user5[32] connect apical_dendrite[29](0), 1}

{user5[31] connect apical_dendrite[30](0), 1}

{user5[30] connect apical_dendrite[31](0), 1}

{user5[29] connect apical_dendrite[32](0), 1}

{user5[28] connect apical_dendrite[33](0), 1}

{user5[27] connect apical_dendrite[34](0), 1}

{apical_dendrite[34] connect apical_dendrite[35](0), 1}

{apical_dendrite[34] connect apical_dendrite[36](0), 1}

{user5[26] connect apical_dendrite[37](0), 1}

{user5[25] connect apical_dendrite[38](0), 1}

{soma connect user5[46](0), 1}

{user5[46] connect user5[47](0), 1}

{user5[47] connect user5[48](0), 1}

{user5[48] connect user5[49](0), 1}

{user5[49] connect user5[50](0), 1}

{user5[50] connect user5[51](0), 1}

{user5[51] connect user5[52](0), 1}

{user5[52] connect user5[53](0), 1}

{user5[53] connect user5[54](0), 1}

{user5[54] connect user5[55](0), 1}

{user5[55] connect user5[56](0), 1}

{user5[56] connect user5[57](0), 1}

{user5[57] connect user5[58](0), 1}

{user5[58] connect user5[59](0), 1}

{user5[59] connect user5[60](0), 1}

{user5[60] connect user5[61](0), 1}

{user5[61] connect user5[62](0), 1}

{user5[62] connect user5[63](0), 1}

{user5[63] connect user5[64](0), 1}
{user5[64] connect user5[65](0), 1}

{user5[64] connect apical_dendrite[39](0), 1}

{user5[63] connect apical_dendrite[40](0), 1}

{user5[62] connect user5[66](0), 1}

{user5[66] connect user5[67](0), 1}

{user5[66] connect apical_dendrite[41](0), 1}

{user5[61] connect user5[68](0), 1}

{user5[68] connect apical_dendrite[42](0), 1}

{user5[68] connect user5[69](0), 1}

{user5[69] connect user5[70](0), 1}
{user5[69] connect user5[71](0), 1}

{user5[71] connect user5[72](0), 1}

{user5[71] connect user5[73](0), 1}

{user5[60] connect apical_dendrite[43](0), 1}
{user5[59] connect apical_dendrite[44](0), 1}
{user5[58] connect user5[74](0), 1}

{user5[74] connect user5[75](0), 1}
{user5[75] connect user5[76](0), 1}
{user5[75] connect apical_dendrite[45](0), 1}
{user5[74] connect apical_dendrite[46](0), 1}

{user5[57] connect apical_dendrite[47](0), 1}

{user5[56] connect apical_dendrite[48](0), 1}

{user5[55] connect apical_dendrite[49](0), 1}

{user5[54] connect apical_dendrite[50](0), 1}
{apical_dendrite[50] connect apical_dendrite[51](0), 1}

{apical_dendrite[50] connect apical_dendrite[52](0), 1}

{user5[53] connect apical_dendrite[53](0), 1}

{user5[52] connect apical_dendrite[54](0), 1}

{apical_dendrite[54] connect apical_dendrite[55](0), 1}

{apical_dendrite[54] connect apical_dendrite[56](0), 1}
{user5[51] connect apical_dendrite[57](0), 1}

{user5[50] connect apical_dendrite[58](0), 1}

{user5[49] connect apical_dendrite[59](0), 1}

{apical_dendrite[59] connect apical_dendrite[60](0), 1}

{apical_dendrite[60] connect apical_dendrite[61](0), 1}
{apical_dendrite[60] connect apical_dendrite[62](0), 1}

{apical_dendrite[59] connect apical_dendrite[63](0), 1}

{user5[48] connect apical_dendrite[64](0), 1}
{apical_dendrite[64] connect apical_dendrite[65](0), 1}

{apical_dendrite[64] connect apical_dendrite[66](0), 1}

{user5[47] connect apical_dendrite[67](0), 1}

{apical_dendrite[67] connect apical_dendrite[68](0), 1}

{apical_dendrite[67] connect apical_dendrite[69](0), 1}

{user5[46] connect apical_dendrite[70](0), 1}

{apical_dendrite[70] connect apical_dendrite[71](0), 1}

{apical_dendrite[71] connect apical_dendrite[72](0), 1}

{apical_dendrite[71] connect apical_dendrite[73](0), 1}

{apical_dendrite[70] connect apical_dendrite[74](0), 1}


  basic_shape()
}

proc shape3d_1() {
  {access soma}
{pt3dclear()}
{pt3dadd(0,0,10.68,10.68)}
{pt3dadd(0,0,0,10.68)}


{access dendrite[0]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(2.458,-2.766,6.198,0.3)}
{pt3dadd(5.462,-3.319,10.662,0.3)}
{pt3dadd(11.368,-7.68,13.372,0.3)}
{pt3dadd(15.732,-11.81,21.014,0.3)}


{access dendrite[1]}
{pt3dclear()}
{pt3dadd(15.732,-11.81,21.014,0.3)}
{pt3dadd(21.793,-19.269,26.15,0.3)}
{pt3dadd(28.95,-31.257,32.956,0.3)}
{pt3dadd(35.105,-43.192,37.418,0.3)}
{pt3dadd(39.052,-54.597,38.783,0.3)}
{pt3dadd(44.677,-68.435,40.229,0.3)}
{pt3dadd(48.874,-74.324,41.717,0.3)}
{pt3dadd(52.495,-78.242,43.388,0.3)}
{pt3dadd(60.474,-87.08,47.566,0.3)}
{pt3dadd(67.933,-99.907,50.704,0.3)}
{pt3dadd(74.309,-113.164,50.989,0.3)}
{pt3dadd(78.45,-119.64,54.514,0.3)}
{pt3dadd(81.631,-127.061,55.655,0.3)}
{pt3dadd(83.789,-133.931,54.473,0.3)}
{pt3dadd(86.687,-141.409,56.694,0.3)}
{pt3dadd(91.478,-146.892,61.136,0.3)}
{pt3dadd(94.815,-150.866,63.887,0.3)}
{pt3dadd(98.268,-153.27,65.131,0.3)}
{pt3dadd(101.304,-153.133,65.009,0.3)}


{access dendrite[2]}
{pt3dclear()}
{pt3dadd(15.732,-11.81,21.014,0.3)}
{pt3dadd(19.533,-12.384,26.843,0.3)}
{pt3dadd(21.74,-12.915,29.941,0.3)}


{access dendrite[3]}
{pt3dclear()}
{pt3dadd(21.74,-12.915,29.941,0.3)}
{pt3dadd(29.43,-19.33,35.79,0.3)}
{pt3dadd(36.123,-24.902,44.431,0.3)}
{pt3dadd(43.899,-30.042,55.924,0.3)}
{pt3dadd(51.423,-34.549,63.914,0.3)}
{pt3dadd(59.175,-39.586,72.86,0.3)}
{pt3dadd(66.304,-42.049,79.464,0.3)}
{pt3dadd(74.109,-46.896,83.805,0.3)}
{pt3dadd(81.899,-53.722,87.575,0.3)}
{pt3dadd(89.741,-57.087,92.467,0.3)}
{pt3dadd(96.942,-56.983,97.603,0.3)}
{pt3dadd(104.495,-57.924,104.166,0.3)}
{pt3dadd(110.986,-59.795,107.855,0.3)}
{pt3dadd(115.825,-62.607,108.283,0.3)}
{pt3dadd(120.75,-67.415,108.63,0.3)}
{pt3dadd(122.288,-71.316,107.672,0.3)}


{access dendrite[4]}
{pt3dclear()}
{pt3dadd(21.74,-12.915,29.941,0.3)}
{pt3dadd(29.101,-12.24,33.528,0.3)}
{pt3dadd(34.25,-14.702,37.992,0.3)}
{pt3dadd(40.003,-15.57,40.845,0.3)}
{pt3dadd(43.067,-15.14,45.839,0.3)}
{pt3dadd(45.984,-13.696,50.384,0.3)}
{pt3dadd(50.171,-14.228,55.621,0.3)}
{pt3dadd(58.882,-15.046,60.411,0.3)}
{pt3dadd(64.763,-16.032,66.301,0.3)}
{pt3dadd(71.883,-16.412,70.928,0.3)}
{pt3dadd(79.835,-15.727,74.903,0.3)}


{access dendrite[5]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-6.384,-8.771,-3.381,0.3)}
{pt3dadd(-4.113,-14.467,-8.639,0.3)}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}


{access dendrite[6]}
{pt3dclear()}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}
{pt3dadd(-5.2,-21.84,-13.246,0.3)}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}


{access dendrite[7]}
{pt3dclear()}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}
{pt3dadd(1.226,-32.031,-14.408,0.3)}
{pt3dadd(2.173,-35.941,-15.753,0.3)}
{pt3dadd(4.816,-43.182,-19.605,0.3)}
{pt3dadd(8.5,-48.993,-20.562,0.3)}
{pt3dadd(10.76,-55.878,-21.256,0.3)}
{pt3dadd(14.751,-61.736,-20.746,0.3)}
{pt3dadd(19.639,-68.026,-20.95,0.3)}
{pt3dadd(21.654,-73.486,-20.013,0.3)}
{pt3dadd(28.142,-75.753,-18.892,0.3)}
{pt3dadd(32.52,-81.57,-18.973,0.3)}
{pt3dadd(37.274,-91.806,-20.808,0.3)}
{pt3dadd(40.328,-105.654,-21.888,0.3)}
{pt3dadd(44.736,-114.053,-20.014,0.3)}
{pt3dadd(49.854,-130.294,-21.604,0.3)}
{pt3dadd(53.833,-141.009,-24.825,0.3)}
{pt3dadd(59.474,-152.867,-22.808,0.3)}
{pt3dadd(62.653,-160.684,-24.235,0.3)}
{pt3dadd(66.411,-163.531,-24.092,0.3)}
{pt3dadd(75.481,-164.601,-25.008,0.3)}


{access dendrite[8]}
{pt3dclear()}
{pt3dadd(-1.815,-23.143,-14.509,0.3)}
{pt3dadd(2.563,-25.686,-21.132,0.3)}
{pt3dadd(5.345,-28.583,-33.053,0.3)}
{pt3dadd(6.698,-30.075,-44.118,0.3)}
{pt3dadd(9.383,-32.165,-51.393,0.3)}
{pt3dadd(10.813,-30.297,-58.79,0.3)}
{pt3dadd(14.149,-34.666,-70.875,0.3)}
{pt3dadd(19.533,-40.137,-78.313,0.3)}
{pt3dadd(24.734,-46.077,-86.749,0.3)}
{pt3dadd(26.447,-50.697,-94.412,0.3)}
{pt3dadd(27.669,-55.74,-104.54,0.3)}
{pt3dadd(31.288,-56.78,-111.978,0.3)}
{pt3dadd(36.635,-57.188,-120.781,0.3)}
{pt3dadd(37.978,-59.869,-127.282,0.3)}
{pt3dadd(40.183,-57.523,-133.293,0.3)}


{access dendrite[9]}
{pt3dclear()}
{pt3dadd(-6.022,-18.444,-11.432,0.3)}
{pt3dadd(-13.211,-23.507,-17.751,0.3)}
{pt3dadd(-19.631,-32.158,-21.278,0.3)}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}


{access dendrite[10]}
{pt3dclear()}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}


{access dendrite[11]}
{pt3dclear()}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}
{pt3dadd(-32.096,-50.608,-24.358,0.3)}
{pt3dadd(-35.667,-56.714,-25.847,0.3)}
{pt3dadd(-40.581,-63.41,-26.562,0.3)}
{pt3dadd(-44.514,-69.66,-24.912,0.3)}
{pt3dadd(-46.644,-78.859,-22.713,0.3)}
{pt3dadd(-51.767,-89.194,-20.432,0.3)}
{pt3dadd(-53.795,-98.409,-17.743,0.3)}
{pt3dadd(-55.078,-104.562,-15.624,0.3)}
{pt3dadd(-55.02,-116.669,-13.466,0.3)}
{pt3dadd(-58.028,-126.331,-13.141,0.3)}
{pt3dadd(-60.716,-134.454,-13.346,0.3)}
{pt3dadd(-66.819,-138.691,-14.244,0.3)}
{pt3dadd(-70.895,-146.803,-16.202,0.3)}
{pt3dadd(-72.125,-159.31,-17.874,0.3)}
{pt3dadd(-72.707,-171.221,-21.197,0.3)}
{pt3dadd(-70.382,-179.604,-21.951,0.3)}


{access dendrite[12]}
{pt3dclear()}
{pt3dadd(-27.425,-45.362,-25.172,0.3)}
{pt3dadd(-27.621,-50.687,-29.901,0.3)}
{pt3dadd(-30.311,-59.206,-32.674,0.3)}
{pt3dadd(-30.999,-71.497,-39.053,0.3)}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}


{access dendrite[13]}
{pt3dclear()}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}
{pt3dadd(-31.549,-85.99,-52.688,0.3)}
{pt3dadd(-33.566,-87.471,-55.378,0.3)}
{pt3dadd(-38.263,-83.192,-67.035,0.3)}


{access dendrite[14]}
{pt3dclear()}
{pt3dadd(-28.227,-82.128,-45.596,0.3)}
{pt3dadd(-26.356,-89.451,-48.266,0.3)}
{pt3dadd(-27.026,-99.365,-51.507,0.3)}
{pt3dadd(-24.413,-110.568,-56.5,0.3)}
{pt3dadd(-21.218,-126.221,-62.268,0.3)}
{pt3dadd(-19.518,-132.426,-67.934,0.3)}
{pt3dadd(-19.007,-142.717,-72.969,0.3)}
{pt3dadd(-19.595,-155.42,-81.427,0.3)}
{pt3dadd(-18.767,-161.296,-83.832,0.3)}
{pt3dadd(-18.68,-169.837,-83.099,0.3)}


{access dendrite[15]}
{pt3dclear()}
{pt3dadd(-24.096,-40.707,-25.212,0.3)}
{pt3dadd(-26.596,-47.965,-34.119,0.3)}
{pt3dadd(-29.911,-54.307,-41.802,0.3)}
{pt3dadd(-33.375,-63.303,-58.229,0.3)}
{pt3dadd(-36.671,-70.54,-68.501,0.3)}
{pt3dadd(-40.082,-72.801,-78.079,0.3)}
{pt3dadd(-42.672,-78.458,-89.472,0.3)}
{pt3dadd(-41.855,-82.646,-96.421,0.3)}
{pt3dadd(-47.316,-87.078,-104.105,0.3)}
{pt3dadd(-50.591,-91.542,-108.671,0.3)}
{pt3dadd(-53.168,-92.343,-116.334,0.3)}
{pt3dadd(-53.594,-97.534,-124.587,0.3)}


{access dendrite[16]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-0.814,-10.106,-1.526,0.3)}
{pt3dadd(1.848,-14.97,-2.24,0.3)}
{pt3dadd(5.594,-19.402,-0.1,0.3)}
{pt3dadd(5.033,-21.996,1.469,0.3)}


{access dendrite[17]}
{pt3dclear()}
{pt3dadd(5.033,-21.996,1.469,0.3)}
{pt3dadd(7.545,-29.514,4.281,0.3)}


{access dendrite[18]}
{pt3dclear()}
{pt3dadd(7.545,-29.514,4.281,0.3)}
{pt3dadd(8.422,-35.597,6.97,0.3)}
}


proc shape3d_2() {
  {access dendrite[19]}
{pt3dclear()}
{pt3dadd(8.422,-35.597,6.97,0.3)}
{pt3dadd(11.547,-43.605,10.149,0.3)}
{pt3dadd(15.223,-50.209,16.323,0.3)}
{pt3dadd(19.046,-57.827,22.946,0.3)}
{pt3dadd(24.559,-66.294,27.653,0.3)}
{pt3dadd(28.518,-72.841,32.748,0.3)}
{pt3dadd(32.59,-81.488,40.308,0.3)}
{pt3dadd(35.338,-85.076,45.24,0.3)}
{pt3dadd(38.127,-90.059,47.563,0.3)}
{pt3dadd(41.097,-94.969,48.316,0.3)}
{pt3dadd(45.07,-99.931,51.414,0.3)}
{pt3dadd(49.029,-106.479,56.509,0.3)}
{pt3dadd(53.132,-114.436,59.484,0.3)}
{pt3dadd(55.943,-126.462,62.601,0.3)}
{pt3dadd(59.93,-142.534,67.898,0.3)}
{pt3dadd(64.172,-155.57,72.727,0.3)}
{pt3dadd(68.53,-167.036,76.048,0.3)}
{pt3dadd(71.373,-171.827,73.766,0.3)}
{pt3dadd(74.776,-180.571,70.729,0.3)}
{pt3dadd(78.104,-189.006,72.318,0.3)}
{pt3dadd(79.044,-196.982,72.378,0.3)}


{access dendrite[20]}
{pt3dclear()}
{pt3dadd(8.422,-35.597,6.97,0.3)}
{pt3dadd(6.058,-48.331,9.618,0.3)}
{pt3dadd(9.339,-56.164,8.68,0.3)}
{pt3dadd(14.227,-62.454,8.476,0.3)}
{pt3dadd(19.044,-71.311,9.739,0.3)}
{pt3dadd(24.196,-76.65,11.044,0.3)}
{pt3dadd(32.413,-84.83,11.615,0.3)}
{pt3dadd(38.272,-95.134,12.613,0.3)}
{pt3dadd(42.752,-100.966,13.021,0.3)}
{pt3dadd(45.896,-109.869,13.611,0.3)}
{pt3dadd(49.784,-122.256,14.446,0.3)}
{pt3dadd(53.075,-132.173,15.485,0.3)}
{pt3dadd(56.453,-137.541,15.627,0.3)}
{pt3dadd(60.833,-149.506,18.928,0.3)}
{pt3dadd(65.985,-154.845,20.232,0.3)}
{pt3dadd(69.08,-160.27,21.455,0.3)}
{pt3dadd(73.663,-166.117,22.352,0.3)}
{pt3dadd(76.309,-172.962,21.067,0.3)}
{pt3dadd(78.563,-177.367,20.965,0.3)}


{access dendrite[21]}
{pt3dclear()}
{pt3dadd(7.545,-29.514,4.281,0.3)}
{pt3dadd(10.997,-38.464,6.338,0.3)}
{pt3dadd(14.377,-49.981,9.863,0.3)}
{pt3dadd(15.672,-58.606,13.918,0.3)}
{pt3dadd(19.759,-68.544,16.322,0.3)}
{pt3dadd(24.516,-84.929,17.87,0.3)}
{pt3dadd(27.909,-94.862,19.398,0.3)}
{pt3dadd(31.208,-106.863,22.413,0.3)}
{pt3dadd(37.325,-120.28,26.325,0.3)}
{pt3dadd(45.201,-135.648,30.828,0.3)}
{pt3dadd(51.063,-145.557,34.394,0.3)}
{pt3dadd(57.069,-156.874,35.841,0.3)}
{pt3dadd(61.162,-169.292,37.654,0.3)}
{pt3dadd(67.298,-183.605,38.978,0.3)}
{pt3dadd(70.443,-192.508,39.568,0.3)}
{pt3dadd(74.806,-203.182,48.025,0.3)}
{pt3dadd(78.323,-210.357,55.748,0.3)}
{pt3dadd(83.186,-219.817,59.538,0.3)}


{access dendrite[22]}
{pt3dclear()}
{pt3dadd(5.033,-21.996,1.469,0.3)}
{pt3dadd(15.155,-26.595,2.265,0.3)}
{pt3dadd(21.105,-25.41,4.12,0.3)}
{pt3dadd(27.301,-25.65,4.345,0.3)}
{pt3dadd(33.161,-29.409,4.529,0.3)}
{pt3dadd(40.789,-30.658,6.465,0.3)}
{pt3dadd(49.118,-31.12,2.146,0.3)}
{pt3dadd(61.296,-36.029,0.456,0.3)}
{pt3dadd(68.914,-41.739,1.231,0.3)}
{pt3dadd(77.766,-44.363,1.334,0.3)}
{pt3dadd(85.758,-51.617,3.515,0.3)}
{pt3dadd(96.102,-54.267,5.859,0.3)}
{pt3dadd(104.521,-56.329,4.026,0.3)}
{pt3dadd(111.037,-68.12,5.35,0.3)}
{pt3dadd(118.457,-76.279,4.556,0.3)}
{pt3dadd(124.699,-83.666,8.122,0.3)}
{pt3dadd(126.794,-88.643,9.569,0.3)}


{access dendrite[23]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-8.459,-10.839,8.234,1.7)}
{pt3dadd(-8.248,-13.35,8.621,1.1)}
{pt3dadd(-7.933,-15.877,9.497,0.6)}


{access dendrite[24]}
{pt3dclear()}
{pt3dadd(-7.933,-15.877,9.497,0.6)}
{pt3dadd(-6.872,-21.492,13.185,0.3)}
{pt3dadd(-5.478,-23.983,14.346,0.3)}


{access dendrite[25]}
{pt3dclear()}
{pt3dadd(-5.478,-23.983,14.346,0.3)}
{pt3dadd(-5.768,-28.104,16.832,0.3)}


{access dendrite[26]}
{pt3dclear()}
{pt3dadd(-5.768,-28.104,16.832,0.3)}
{pt3dadd(-4.879,-35.875,24.066,0.3)}


{access dendrite[27]}
{pt3dclear()}
{pt3dadd(-4.879,-35.875,24.066,0.3)}
{pt3dadd(-6.222,-39.739,31.381,0.3)}
{pt3dadd(-6.544,-44.551,38.452,0.3)}
{pt3dadd(-7.295,-48.405,46.155,0.3)}
{pt3dadd(-8.012,-51.173,51.84,0.3)}
{pt3dadd(-7.908,-54.066,61.438,0.3)}
{pt3dadd(-7.474,-57.504,72.483,0.3)}
{pt3dadd(-7.391,-59.898,82.101,0.3)}
{pt3dadd(-7.448,-63.758,90.68,0.3)}
{pt3dadd(-9.047,-70.658,98.464,0.3)}
{pt3dadd(-8.809,-79.421,104.78,0.3)}
{pt3dadd(-8.598,-85.205,111.708,0.3)}
{pt3dadd(-8.724,-87.964,117.781,0.3)}
{pt3dadd(-10.356,-92.676,121.041,0.3)}
{pt3dadd(-12.153,-95.48,126.44,0.3)}
{pt3dadd(-12.643,-98.779,133.083,0.3)}
{pt3dadd(-14.556,-103.152,139.991,0.3)}
{pt3dadd(-15.852,-110.89,144.107,0.3)}
{pt3dadd(-18.82,-112.129,146.735,0.3)}


{access dendrite[28]}
{pt3dclear()}
{pt3dadd(-4.879,-35.875,24.066,0.3)}
{pt3dadd(-1.177,-39.309,26.246,0.3)}
{pt3dadd(2.695,-43.86,31.423,0.3)}
{pt3dadd(1.667,-50.251,39.614,0.3)}
{pt3dadd(6.268,-53.721,43.649,0.3)}
{pt3dadd(9.256,-56.255,47.542,0.3)}
{pt3dadd(13.528,-59.18,50.13,0.3)}

{access dendrite[29]}
{pt3dclear()}
{pt3dadd(13.528,-59.18,50.13,0.3)}
{pt3dadd(18.836,-61.071,53.045,0.3)}
{pt3dadd(23.639,-71.514,56.305,0.3)}
{pt3dadd(27.412,-78.925,57.833,0.3)}
{pt3dadd(29.261,-82.477,60.91,0.3)}
{pt3dadd(32.511,-90.999,64.557,0.3)}
{pt3dadd(34.223,-95.621,69.163,0.3)}
{pt3dadd(36.735,-103.14,71.974,0.3)}
{pt3dadd(39.832,-108.169,75.765,0.3)}
{pt3dadd(42.344,-115.688,78.577,0.3)}
{pt3dadd(45.236,-120.686,81.389,0.3)}
{pt3dadd(47.611,-129.275,85.729,0.3)}
{pt3dadd(50.508,-133.481,93.676,0.3)}
{pt3dadd(54.213,-136.519,98.425,0.3)}
{pt3dadd(57.356,-142.15,104.742,0.3)}
{pt3dadd(59.943,-146.706,108.655,0.3)}
{pt3dadd(61.646,-149.243,111.283,0.3)}
{pt3dadd(63.84,-157.905,117.193,0.3)}
{pt3dadd(66.049,-164.585,123.672,0.3)}
{pt3dadd(68.097,-165.688,128.319,0.3)}


}
proc shape3d_3() {
  
{access dendrite[30]}
{pt3dclear()}
{pt3dadd(13.528,-59.18,50.13,0.3)}
{pt3dadd(10.631,-64.396,52.106,0.3)}
{pt3dadd(14.451,-72.41,56.161,0.3)}
{pt3dadd(18.731,-77.418,60.726,0.3)}
{pt3dadd(21.84,-84.136,69.06,0.3)}
{pt3dadd(25.984,-90.215,75.153,0.3)}
{pt3dadd(28.022,-95.778,78.638,0.3)}
{pt3dadd(31.309,-102.819,82.836,0.3)}
{pt3dadd(34.647,-106.794,85.587,0.3)}
{pt3dadd(39.322,-120.391,92.352,0.3)}
{pt3dadd(43.695,-129.876,96.244,0.3)}
{pt3dadd(47.592,-141.075,104.782,0.3)}
{pt3dadd(47.497,-146.417,112.81,0.3)}
{pt3dadd(49.299,-155.911,114.175,0.3)}
{pt3dadd(54.068,-160.894,118.638,0.3)}
{pt3dadd(61.018,-160.157,120.269,0.3)}
{pt3dadd(61.578,-160.837,125.241,0.3)}

{access dendrite[31]}
{pt3dclear()}
{pt3dadd(-5.768,-28.104,16.832,0.3)}
{pt3dadd(-4.152,-31.918,13.816,0.3)}
{pt3dadd(2.296,-42.608,12.634,0.3)}
{pt3dadd(9.205,-50.293,11.962,0.3)}
{pt3dadd(13.966,-56.464,8.721,0.3)}
{pt3dadd(19.256,-67.277,9.312,0.3)}
{pt3dadd(24.633,-73.542,9.006,0.3)}
{pt3dadd(32.734,-83.291,11.085,0.3)}
{pt3dadd(39.06,-93.071,12.002,0.3)}
{pt3dadd(42.475,-96.957,12.695,0.3)}
{pt3dadd(45.999,-103.339,13.286,0.3)}
{pt3dadd(48.481,-108.275,14.142,0.3)}
{pt3dadd(49.8,-120.275,15.017,0.3)}
{pt3dadd(55.052,-132.57,15.057,0.3)}
{pt3dadd(59.233,-140.439,15.974,0.3)}
{pt3dadd(63.096,-149.451,19.988,0.3)}
{pt3dadd(67.555,-154.784,20.416,0.3)}
{pt3dadd(69.787,-158.69,20.334,0.3)}
{pt3dadd(72.919,-162.633,22.107,0.3)}
{pt3dadd(76.297,-168.002,22.25,0.3)}
{pt3dadd(78.548,-172.803,19.58,0.3)}
{pt3dadd(79.03,-176.843,20.884,0.3)}

{access dendrite[32]}
{pt3dclear()}
{pt3dadd(-5.478,-23.983,14.346,0.3)}
{pt3dadd(-5.902,-32.05,15.202,0.3)}
{pt3dadd(-13.618,-38.623,20.702,0.3)}
{pt3dadd(-15.297,-42.733,21.435,0.3)}

{access dendrite[33]}
{pt3dclear()}
{pt3dadd(-15.297,-42.733,21.435,0.3)}
{pt3dadd(-19.289,-49.966,22.555,0.3)}
{pt3dadd(-20.94,-57.055,22.676,0.3)}
{pt3dadd(-22.727,-58.67,23.511,0.3)}


{access dendrite[34]}
{pt3dclear()}
{pt3dadd(-22.727,-58.67,23.511,0.3)}
{pt3dadd(-23.818,-66.44,28.605,0.3)}
{pt3dadd(-24.283,-73.113,32.068,0.3)}
{pt3dadd(-24.601,-80.801,35.98,0.3)}
{pt3dadd(-26.199,-84.427,37.223,0.3)}
{pt3dadd(-25.384,-88.617,42.541,0.3)}
{pt3dadd(-25.236,-95.779,46.372,0.3)}
{pt3dadd(-28.839,-102.575,49.468,0.3)}
{pt3dadd(-32.974,-108.398,52.707,0.3)}
{pt3dadd(-34.685,-113.198,58.025,0.3)}
{pt3dadd(-35.486,-123.391,61.448,0.3)}
{pt3dadd(-36.604,-131.453,61.426,0.3)}
{pt3dadd(-36.686,-138.482,61.731,0.3)}
{pt3dadd(-36.823,-146.097,64.074,0.3)}
{pt3dadd(-36.715,-155.137,64.786,0.3)}

{access dendrite[35]}
{pt3dclear()}
{pt3dadd(-22.727,-58.67,23.511,0.3)}
{pt3dadd(-24.026,-66.804,25.059,0.3)}
{pt3dadd(-27.383,-75.025,26.525,0.3)}
{pt3dadd(-32.381,-79.33,28.46,0.3)}
{pt3dadd(-36.934,-89.155,31.148,0.3)}
{pt3dadd(-41.182,-99.423,32.736,0.3)}
{pt3dadd(-44.44,-104.784,37.85,0.3)}
{pt3dadd(-47.246,-111.6,42.312,0.3)}
{pt3dadd(-50.937,-116.399,45.49,0.3)}
{pt3dadd(-50.433,-120.938,46.773,0.3)}
{pt3dadd(-53.083,-127.579,47.119,0.3)}
{pt3dadd(-54.534,-132.22,48.81,0.3)}
{pt3dadd(-55.982,-139.736,47.341,0.3)}
{pt3dadd(-56.649,-149.255,46.668,0.3)}
{pt3dadd(-56.584,-157.297,47.421,0.3)}
{pt3dadd(-57.285,-167.901,48.765,0.3)}

{access dendrite[36]}
{pt3dclear()}
{pt3dadd(-15.297,-42.733,21.435,0.3)}
{pt3dadd(-20.833,-53.402,19.192,0.3)}
{pt3dadd(-24.997,-66.062,18.13,0.3)}
{pt3dadd(-29.852,-78.321,18.76,0.3)}
{pt3dadd(-32.196,-85.405,18.005,0.3)}
{pt3dadd(-35.052,-92.016,17.372,0.3)}
{pt3dadd(-39.708,-101.826,19.571,0.3)}
{pt3dadd(-41.956,-112.99,20.711,0.3)}
{pt3dadd(-43.548,-119.097,21.362,0.3)}
{pt3dadd(-46.503,-125.296,22.808,0.3)}
{pt3dadd(-46.886,-134.758,21.055,0.3)}
{pt3dadd(-46.27,-144.668,19.077,0.3)}
{pt3dadd(-44.882,-161.041,16.732,0.3)}
{pt3dadd(-42.822,-176.92,15.284,0.3)}
{pt3dadd(-43.451,-184.957,15.161,0.3)}
{pt3dadd(-41.869,-189.856,14.162,0.3)}
{pt3dadd(-41.279,-202.936,16.178,0.3)}

{access dendrite[37]}
{pt3dclear()}
{pt3dadd(-7.933,-15.877,9.497,0.6)}
{pt3dadd(-8.154,-17.827,7.948,0.3)}
{pt3dadd(-11.888,-24.9,5.44,0.3)}
{pt3dadd(-12.962,-27.415,4.563,0.3)}

{access dendrite[38]}
{pt3dclear()}
{pt3dadd(-12.962,-27.415,4.563,0.3)}
{pt3dadd(-18.302,-36.031,1.322,0.3)}
{pt3dadd(-21.456,-44.678,1.198,0.3)}
{pt3dadd(-22.627,-56.203,0.056,0.3)}
{pt3dadd(-27.267,-67.304,-2.901,0.3)}
{pt3dadd(-29.251,-70.972,-1.068,0.3)}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}

{access dendrite[39]}
{pt3dclear()}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}
{pt3dadd(-38.424,-76.432,0.174,0.3)}
{pt3dadd(-43.608,-81.6,-1.458,0.3)}
{pt3dadd(-49.353,-82.817,-2.335,0.3)}
{pt3dadd(-56.857,-88.627,-2.989,0.3)}
{pt3dadd(-63.302,-93.903,-3.336,0.3)}
{pt3dadd(-74.422,-111.366,-4.623,0.3)}
{pt3dadd(-78.221,-116.941,-7.07,0.3)}
{pt3dadd(-81.736,-122.46,-10.596,0.3)}
{pt3dadd(-82.228,-129.427,-12.248,0.3)}
{pt3dadd(-83.193,-134.438,-13.227,0.3)}
{pt3dadd(-85.612,-137.94,-15.897,0.3)}

{access dendrite[40]}
{pt3dclear()}
{pt3dadd(-33.682,-75.163,-1.293,0.3)}
{pt3dadd(-36.148,-84.608,-5.675,0.3)}
{pt3dadd(-39.532,-93.122,-9.324,0.3)}
{pt3dadd(-43.29,-100.092,-14.379,0.3)}
{pt3dadd(-46.537,-107.535,-19.557,0.3)}
{pt3dadd(-50.8,-116.511,-25.081,0.3)}
{pt3dadd(-54.249,-123.527,-28.669,0.3)}
{pt3dadd(-54.928,-131.357,-33.886,0.3)}
{pt3dadd(-57.565,-136.414,-35.538,0.3)}
{pt3dadd(-60.349,-140.456,-37.638,0.3)}
{pt3dadd(-63.833,-148.558,-39.208,0.3)}
{pt3dadd(-66.446,-153.718,-38.312,0.3)}
{pt3dadd(-67.844,-158.168,-41.227,0.3)}
{pt3dadd(-68.242,-163.065,-44.366,0.3)}


{access dendrite[41]}
{pt3dclear()}
{pt3dadd(-12.962,-27.415,4.563,0.3)}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}


{access dendrite[42]}
{pt3dclear()}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}
{pt3dadd(-12.846,-52.024,-5.954,0.3)}
{pt3dadd(-12.781,-69.884,-10.113,0.3)}
{pt3dadd(-9.979,-83.098,-14.699,0.3)}
{pt3dadd(-7.467,-93.888,-17.614,0.3)}
{pt3dadd(-5.39,-101.242,-19.306,0.3)}
{pt3dadd(-7.831,-110.79,-21.141,0.3)}
{pt3dadd(-8.629,-117.314,-21.692,0.3)}
{pt3dadd(-8.141,-130.379,-20.165,0.3)}
{pt3dadd(-9.228,-141.024,-18.23,0.3)}
{pt3dadd(-9.559,-153.568,-18.048,0.3)}
{pt3dadd(-11.733,-161.769,-15.808,0.3)}
{pt3dadd(-12.086,-173.814,-15.605,0.3)}
{pt3dadd(-12.211,-186.39,-14.445,0.3)}
{pt3dadd(-11.349,-194.453,-12.326,0.3)}
{pt3dadd(-11.399,-197.52,-10.88,0.3)}
{pt3dadd(-9.625,-204.035,-8.904,0.3)}
{pt3dadd(-10.603,-210.631,-7.885,0.3)}

{access dendrite[43]}
{pt3dclear()}
{pt3dadd(-13.123,-38.199,-1.368,0.3)}
{pt3dadd(-17.984,-44.705,-6.688,0.3)}
{pt3dadd(-23.6,-59.129,-15.168,0.3)}
{pt3dadd(-29.759,-67.224,-19.754,0.3)}
{pt3dadd(-33.803,-81.191,-25.483,0.3)}
{pt3dadd(-39.118,-93.182,-31.904,0.3)}
{pt3dadd(-43.013,-101.222,-35.43,0.3)}
{pt3dadd(-45.466,-109.082,-41.81,0.3)}
{pt3dadd(-49.828,-117.646,-45.256,0.3)}
{pt3dadd(-53.186,-135.684,-48.702,0.3)}
{pt3dadd(-55.079,-144.224,-50.109,0.3)}
{pt3dadd(-55.935,-155.003,-56.916,0.3)}
{pt3dadd(-57.812,-164.834,-63.48,0.3)}
{pt3dadd(-58.114,-167.267,-65.538,0.3)}
{pt3dadd(-58.624,-176.61,-70.328,0.3)}
{pt3dadd(-57.426,-184.426,-73.895,0.3)}
{pt3dadd(-53.521,-191.559,-79.03,0.3)}
}
proc shape3d_4() {
  {access user5[0]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(4.207,13.334,-5.925,2.5)}
{pt3dadd(3.692,26.105,-12.567,2)}

{access user5[1]}
{pt3dclear()}
{pt3dadd(3.692,26.105,-12.567,2)}
{pt3dadd(7.719,34.424,-15.704,1.2)}

{access user5[2]}
{pt3dclear()}
{pt3dadd(7.719,34.424,-15.704,1.2)}
{pt3dadd(6.409,41.067,-20.33,1.1)}
{pt3dadd(7.516,57.363,-25.667,1.1)}

{access user5[3]}
{pt3dclear()}
{pt3dadd(7.516,57.363,-25.667,1.1)}
{pt3dadd(5.627,68.853,-26.95,0.6)}
{pt3dadd(5.596,77.982,-29.72,0.6)}
{pt3dadd(5.793,86.58,-31.533,0.6)}

{access user5[4]}
{pt3dclear()}
{pt3dadd(5.793,86.58,-31.533,0.6)}
{pt3dadd(4.679,98.548,-31.43,0.4)}
{pt3dadd(5.972,109.162,-32.387,0.4)}
{pt3dadd(6.097,115.193,-32.733,0.4)}

{access user5[5]}
{pt3dclear()}
{pt3dadd(6.097,115.193,-32.733,0.4)}
{pt3dadd(4.703,124.229,-34.709,0.4)}

{access user5[6]}
{pt3dclear()}
{pt3dadd(4.703,124.229,-34.709,0.4)}
{pt3dadd(4.339,130.234,-34.953,0.4)}

{access user5[7]}
{pt3dclear()}
{pt3dadd(4.339,130.234,-34.953,0.4)}
{pt3dadd(4.084,133.743,-35.299,0.4)}

{access user5[8]}
{pt3dclear()}
{pt3dadd(4.084,133.743,-35.299,0.4)}
{pt3dadd(5.084,146.385,-37.152,0.4)}
{pt3dadd(5.997,161.023,-38.923,0.5)}
{pt3dadd(7.384,173.706,-41.367,0.5)}

{access user5[9]}
{pt3dclear()}
{pt3dadd(7.384,173.706,-41.367,0.5)}
{pt3dadd(7.385,186.796,-42.996,0.5)}

{access user5[10]}
{pt3dclear()}
{pt3dadd(7.385,186.796,-42.996,0.5)}
{pt3dadd(8.924,195.985,-45.583,0.5)}
{pt3dadd(9.006,209.558,-46.703,0.4)}

{access user5[11]}
{pt3dclear()}
{pt3dadd(9.006,209.558,-46.703,0.4)}
{pt3dadd(10.629,232.717,-47.841,0.4)}
{pt3dadd(10.696,250.855,-50.346,0.4)}
{pt3dadd(10.996,265.982,-52.484,0.4)}
{pt3dadd(10.128,276.525,-54.012,0.4)}

{access user5[12]}
{pt3dclear()}
{pt3dadd(10.128,276.525,-54.012,0.4)}
{pt3dadd(10.661,288.643,-55.783,0.4)}
{pt3dadd(11.668,298.804,-58.228,0.4)}
{pt3dadd(11.961,309.867,-58.96,0.4)}

{access user5[13]}
{pt3dclear()}
{pt3dadd(11.961,309.867,-58.96,0.4)}
{pt3dadd(13.924,320.579,-61.588,0.4)}
{pt3dadd(15.347,334.743,-63.481,0.4)}
{pt3dadd(16.304,348.383,-65.293,0.4)}
{pt3dadd(18.142,359.61,-68.39,0.4)}
{pt3dadd(18.865,369.715,-69.754,0.4)}

{access user5[14]}
{pt3dclear()}
{pt3dadd(18.865,369.715,-69.754,0.4)}
{pt3dadd(20.112,380.932,-73.237,0.3)}
{pt3dadd(22.293,399.743,-77.698,0.3)}
{pt3dadd(23.751,408.448,-80.794,0.3)}
{pt3dadd(25.866,415.666,-83.565,0.3)}
{pt3dadd(28.843,421.366,-85.031,0.3)}
{pt3dadd(32.178,430.086,-86.477,0.3)}
{pt3dadd(34.542,436.275,-88.31,0.3)}
{pt3dadd(38.111,441.984,-89.389,0.3)}
{pt3dadd(44.046,454.279,-89.733,0.3)}
{pt3dadd(48.119,461.995,-90.343,0.3)}
{pt3dadd(51.426,467.149,-90.363,0.3)}

{access user5[15]}
{pt3dclear()}
{pt3dadd(51.426,467.149,-90.363,0.3)}
{pt3dadd(55.521,474.366,-90.993,0.3)}
{pt3dadd(57.966,481.038,-92.317,0.3)}
{pt3dadd(62.939,488.718,-91.072,0.3)}
{pt3dadd(69.393,491.909,-88.748,0.3)}
{pt3dadd(75.415,495.662,-88.36,0.3)}
{pt3dadd(81.306,502.41,-87.849,0.3)}
{pt3dadd(86.961,505.227,-89.458,0.3)}

{access user5[16]}
{pt3dclear()}
{pt3dadd(86.961,505.227,-89.458,0.3)}
{pt3dadd(90.872,508.703,-84.546,0.3)}
{pt3dadd(94.86,512.266,-81.692,0.3)}
{pt3dadd(96.379,515.805,-80.876,0.3)}
{pt3dadd(100.029,521.999,-81.445,0.3)}
{pt3dadd(103.622,527.605,-79.977,0.3)}
{pt3dadd(105.026,529.575,-77.654,0.3)}

{access user5[17]}
{pt3dclear()}
{pt3dadd(86.961,505.227,-89.458,0.3)}
{pt3dadd(88.982,510.377,-90.741,0.3)}
{pt3dadd(90.73,516.659,-95.508,0.3)}
{pt3dadd(87.695,519.794,-101.928,0.3)}
{pt3dadd(86.625,520.948,-106.778,0.3)}
{pt3dadd(87.94,521.246,-112.667,0.3)}
}
proc shape3d_5() {
 
{access user5[18]}
{pt3dclear()}
{pt3dadd(51.426,467.149,-90.363,0.3)}
{pt3dadd(48.708,471.426,-87.612,0.3)}
{pt3dadd(46.51,479.69,-83.821,0.3)}
{pt3dadd(41.376,487.405,-81.986,0.3)}
{pt3dadd(38.424,494.692,-79.602,0.3)}
{pt3dadd(34.678,495.851,-75.2,0.3)}
{pt3dadd(31.227,501.924,-68.149,0.3)}
{pt3dadd(28.901,503.762,-66.58,0.3)}
{pt3dadd(26.111,505.471,-62.362,0.3)}
{pt3dadd(20.338,510.505,-56.901,0.3)}
{pt3dadd(15.823,515.252,-55.291,0.3)}
{pt3dadd(11.1,519.633,-57.228,0.3)}
{pt3dadd(5.869,524.884,-56.474,0.3)}
{pt3dadd(0.944,529.692,-56.82,0.3)}
{pt3dadd(-3.493,534.526,-57.269,0.3)}
{pt3dadd(-9.066,538.737,-55.965,0.3)}
{pt3dadd(-16.633,541.365,-54.804,0.3)}
{pt3dadd(-23.221,544.044,-53.847,0.3)}
{pt3dadd(-33.035,548.597,-53.175,0.3)}
{pt3dadd(-41.766,553.582,-49.65,0.3)}
{pt3dadd(-47.707,560.129,-44.617,0.3)}
{pt3dadd(-52.45,568.677,-38.238,0.3)}
{pt3dadd(-54.963,572.923,-34.509,0.3)}
{pt3dadd(-57.912,580.606,-29.557,0.3)}
{pt3dadd(-62.075,584.307,-26.52,0.3)}
{pt3dadd(-66.748,588.482,-23.362,0.3)}
{pt3dadd(-69.642,590.207,-19.633,0.3)}

{access user5[19]}
{pt3dclear()}
{pt3dadd(18.865,369.715,-69.754,0.4)}
{pt3dadd(23.047,384.753,-65.554,0.3)}
{pt3dadd(23.866,400.594,-60.111,0.3)}
{pt3dadd(26.939,412.03,-54.77,0.3)}
{pt3dadd(31.202,430.823,-44.334,0.3)}
{pt3dadd(34.321,441.657,-36.466,0.3)}
{pt3dadd(36.606,451.03,-30.515,0.3)}
{pt3dadd(35.448,467.269,-24.644,0.3)}
{pt3dadd(37.764,480.603,-17.551,0.3)}

{access user5[20]}
{pt3dclear()}
{pt3dadd(37.764,480.603,-17.551,0.3)}
{pt3dadd(36.167,493.338,-12.211,0.3)}
{pt3dadd(35.329,511.116,-6.87,0.3)}
{pt3dadd(32.866,518.428,-4.587,0.3)}
{pt3dadd(37.124,533.157,-5.013,0.3)}
{pt3dadd(38.333,542.892,-9.047,0.3)}
{pt3dadd(37.369,557.516,-12.469,0.3)}
{pt3dadd(39.627,566.596,-11.632,0.3)}
{pt3dadd(43.905,574.281,-11.264,0.3)}

{access user5[21]}
{pt3dclear()}
{pt3dadd(43.905,574.281,-11.264,0.3)}
{pt3dadd(43.084,584.222,-10.265,0.3)}
{pt3dadd(43.183,593.628,-7.431,0.3)}
{pt3dadd(44.725,603.213,-7.45,0.3)}

{access user5[22]}
{pt3dclear()}
{pt3dadd(43.905,574.281,-11.264,0.3)}
{pt3dadd(45.945,578.536,-15.135,0.3)}
{pt3dadd(51.7,580.941,-18.823,0.3)}
{pt3dadd(57.457,583.743,-19.943,0.3)}
{pt3dadd(63.632,584.002,-19.697,0.3)}
{pt3dadd(69.495,583.912,-23.487,0.3)}
{pt3dadd(77.027,586.743,-23.445,0.3)}
{pt3dadd(80.867,590.925,-23.607,0.3)}
{pt3dadd(88.302,594.563,-18.918,0.3)}
{pt3dadd(90.727,595.586,-16.84,0.3)}

{access user5[23]}
{pt3dclear()}
{pt3dadd(37.764,480.603,-17.551,0.3)}
{pt3dadd(36.963,496.589,-5.119,0.3)}
{pt3dadd(32.952,506.614,2.687,0.3)}
{pt3dadd(30.878,517.635,12.673,0.3)}
{pt3dadd(27.237,525.719,19.317,0.3)}
{pt3dadd(30.422,535.056,27.123,0.3)}
{pt3dadd(31.262,543.853,33.36,0.3)}
{pt3dadd(36.012,549.582,45.323,0.3)}
{pt3dadd(37.65,558.358,52.926,0.3)}
{pt3dadd(40.589,565.848,56.636,0.3)}
{pt3dadd(43.923,574.567,67.458,0.3)}

{access user5[24]}
{pt3dclear()}
{pt3dadd(11.961,309.867,-58.96,0.4)}
{pt3dadd(11.447,319.761,-56.493,0.3)}
{pt3dadd(7.553,334.628,-56.737,0.3)}
{pt3dadd(7.21,343.406,-51.275,0.3)}
{pt3dadd(9.856,356.195,-42.734,0.3)}
{pt3dadd(11.394,371.928,-33.868,0.3)}
{pt3dadd(9.716,390.724,-29.852,0.3)}
{pt3dadd(6.224,407.613,-30.116,0.3)}
{pt3dadd(4.879,422.988,-27.811,0.3)}
{pt3dadd(5.433,431.333,-23.062,0.3)}
{pt3dadd(0.131,440.561,-21.656,0.3)}
{pt3dadd(-5.237,444.741,-19.374,0.3)}
{pt3dadd(-6.743,459.149,-18.089,0.3)}
{pt3dadd(-9.788,470.913,-15.031,0.3)}
{pt3dadd(-13.74,478.648,-12.423,0.3)}
{pt3dadd(-16.33,486.079,-13.176,0.3)}
{pt3dadd(-20.016,491.494,-14.786,0.3)}
{pt3dadd(-20.454,494.535,-16.131,0.3)}

{access apical_dendrite[0]}
{pt3dclear()}
{pt3dadd(10.128,276.525,-54.012,0.4)}
{pt3dadd(12.363,279.56,-52.34,0.3)}
{pt3dadd(15.611,283.731,-52.889,0.3)}
{pt3dadd(18.078,289.904,-54.233,0.3)}
{pt3dadd(24.813,299.302,-56.371,0.3)}
{pt3dadd(30.636,307.151,-58.367,0.3)}
{pt3dadd(34.271,317.908,-60.322,0.3)}
{pt3dadd(37.46,327.642,-62.215,0.3)}
{pt3dadd(40.151,339.434,-65.984,0.3)}
{pt3dadd(43.916,347.197,-68.061,0.3)}
{pt3dadd(48.114,354.398,-68.203,0.3)}
{pt3dadd(53.379,360.05,-66.062,0.3)}
{pt3dadd(57.9,369.186,-64.165,0.3)}
{pt3dadd(63.103,376.731,-59.395,0.3)}
{pt3dadd(69.972,383.53,-59.088,0.3)}
{pt3dadd(75.409,391.338,-60.492,0.3)}
{pt3dadd(79.569,397.057,-61.184,0.3)}
{pt3dadd(83.624,402.396,-64.933,0.3)}

{access apical_dendrite[1]}
{pt3dclear()}
{pt3dadd(9.006,209.558,-46.703,0.4)}
{pt3dadd(8.851,219.201,-49.942,0.3)}
}

proc shape3d_6() {
{access apical_dendrite[2]}
{pt3dclear()}
{pt3dadd(8.851,219.201,-49.942,0.3)}
{pt3dadd(6.86,233.981,-58.255,0.3)}
{pt3dadd(5.018,241.597,-62.738,0.3)}
{pt3dadd(5.137,253.38,-69.034,0.3)}
{pt3dadd(5.609,264.119,-73.903,0.3)}
{pt3dadd(4.293,273.243,-77.937,0.3)}
{pt3dadd(2.984,283.16,-89.104,0.3)}
{pt3dadd(2.213,292.896,-95.278,0.3)}
{pt3dadd(4.038,295.992,-95.562,0.3)}

{access apical_dendrite[3]}
{pt3dclear()}
{pt3dadd(8.851,219.201,-49.942,0.3)}
{pt3dadd(9.602,226.327,-51.918,0.3)}
{pt3dadd(10.313,238.121,-57.826,0.3)}
{pt3dadd(12.674,243.914,-62.227,0.3)}
{pt3dadd(14.503,250.679,-66.485,0.3)}

{access apical_dendrite[4]}
{pt3dclear()}
{pt3dadd(7.385,186.796,-42.996,0.5)}
{pt3dadd(3.449,196.512,-39.817,0.3)}

{access apical_dendrite[5]}
{pt3dclear()}
{pt3dadd(3.449,196.512,-39.817,0.3)}
{pt3dadd(0.812,207.817,-37.37,0.3)}
{pt3dadd(-2.279,220.183,-36.84,0.3)}
{pt3dadd(-5.028,227.043,-36.045,0.3)}
{pt3dadd(-11.586,233.684,-33.946,0.3)}
{pt3dadd(-13.88,246.028,-32.05,0.3)}
{pt3dadd(-15.188,256.34,-28.381,0.3)}
{pt3dadd(-16.218,269.188,-25.201,0.3)}
{pt3dadd(-17.291,289.579,-22.794,0.3)}
{pt3dadd(-18.116,302.397,-18.636,0.3)}
{pt3dadd(-14.791,309.927,-15.517,0.3)}
{pt3dadd(-13.231,321.889,-12.397,0.3)}
{pt3dadd(-15.32,327.658,-8.709,0.3)}

{access apical_dendrite[6]}
{pt3dclear()}
{pt3dadd(3.449,196.512,-39.817,0.3)}
{pt3dadd(2.046,201.087,-42.955,0.3)}
{pt3dadd(-1.752,208.602,-47.03,0.3)}
{pt3dadd(-4.722,213.512,-47.784,0.3)}
{pt3dadd(-6.936,216.523,-50.291,0.3)}
{pt3dadd(-8.841,219.488,-51.33,0.3)}
{pt3dadd(-10.36,222.494,-52.96,0.3)}
{pt3dadd(-13.214,228.974,-55.222,0.3)}
{pt3dadd(-18.304,238.964,-59.97,0.3)}
{pt3dadd(-22.566,246.35,-61.396,0.3)}
{pt3dadd(-25.638,257.82,-63.454,0.3)}
{pt3dadd(-29.726,261.213,-65.043,0.3)}
{pt3dadd(-32.659,267.605,-65.247,0.3)}

{access apical_dendrite[7]}
{pt3dclear()}
{pt3dadd(7.384,173.706,-41.367,0.5)}
{pt3dadd(10.05,179.056,-46.868,0.3)}
{pt3dadd(12.527,186.419,-52.777,0.3)}
{pt3dadd(14.047,193.231,-58.503,0.3)}
{pt3dadd(14.97,202.513,-64.024,0.3)}
{pt3dadd(16.133,219.395,-71.399,0.3)}
{pt3dadd(18.105,224.751,-77.777,0.3)}
{pt3dadd(20.984,234.135,-83.706,0.3)}
{pt3dadd(23.725,242.449,-88.106,0.3)}
{pt3dadd(25.024,250.584,-89.654,0.3)}
{pt3dadd(26.665,259.757,-91.752,0.3)}
{pt3dadd(29.699,266.044,-95.256,0.3)}

{access apical_dendrite[8]}
{pt3dclear()}
{pt3dadd(4.084,133.743,-35.299,0.4)}
{pt3dadd(-1.636,138.968,-34.443,0.3)}
{pt3dadd(-5.972,149.936,-37.785,0.3)}
{pt3dadd(-8.914,158.412,-39.965,0.3)}
{pt3dadd(-10.131,163.851,-39.536,0.3)}
{pt3dadd(-12.064,179.612,-35.052,0.3)}
{pt3dadd(-12.276,191.94,-30.527,0.3)}
{pt3dadd(-10.853,202.831,-25.879,0.3)}
{pt3dadd(-11.79,211.203,-23.372,0.3)}
{pt3dadd(-8.269,220.787,-21.251,0.3)}
{pt3dadd(-5.22,232.326,-18.458,0.3)}
{pt3dadd(-9.968,240.082,-17.214,0.3)}
{pt3dadd(-11.929,255.55,-17.845,0.3)}
{pt3dadd(-13.825,262.976,-17.722,0.3)}

{access apical_dendrite[9]}
{pt3dclear()}
{pt3dadd(4.339,130.234,-34.953,0.4)}
{pt3dadd(5.681,140.642,-30.815,0.3)}
{pt3dadd(7.789,153.612,-27.267,0.3)}
{pt3dadd(11.092,161.642,-24.128,0.3)}
{pt3dadd(12.366,173.151,-22.496,0.3)}
{pt3dadd(16.231,190.319,-21.74,0.3)}
{pt3dadd(19.249,204.441,-20.903,0.3)}
{pt3dadd(21.09,216.064,-21.431,0.3)}
{pt3dadd(23.363,227.125,-20.024,0.3)}
{pt3dadd(25.798,239.153,-17.597,0.3)}
{pt3dadd(27.713,247.195,-16.21,0.3)}
{pt3dadd(27.219,256.194,-16.332,0.3)}

{access apical_dendrite[10]}
{pt3dclear()}
{pt3dadd(4.703,124.229,-34.709,0.4)}
{pt3dadd(1.577,132.237,-37.887,0.3)}
{pt3dadd(-4.329,136.598,-40.598,0.3)}
{pt3dadd(-10.044,145.493,-43.716,0.3)}
{pt3dadd(-15.735,151.012,-50.013,0.3)}
{pt3dadd(-19.869,155.007,-54.13,0.3)}
{pt3dadd(-25.389,159.41,-57.431,0.3)}
{pt3dadd(-28.393,166.507,-62.709,0.3)}
{pt3dadd(-32.919,172.941,-65.644,0.3)}
{pt3dadd(-35.944,180.538,-70.901,0.3)}
{pt3dadd(-40.166,186.53,-74.936,0.3)}
{pt3dadd(-44.738,196.839,-86.938,0.3)}
{pt3dadd(-47.716,207.107,-96.21,0.3)}

{access apical_dendrite[11]}
{pt3dclear()}
{pt3dadd(6.097,115.193,-32.733,0.4)}
{pt3dadd(8.317,116.246,-31.632,0.3)}
{pt3dadd(12.038,118.462,-32.854,0.3)}
{pt3dadd(16.282,121.789,-36.195,0.3)}
{pt3dadd(17.301,126.991,-39.822,0.3)}
{pt3dadd(18.787,132.718,-43.53,0.3)}
{pt3dadd(21.503,137.862,-43.937,0.3)}
{pt3dadd(23.602,143.099,-47.278,0.3)}
{pt3dadd(25.396,148.779,-49.519,0.3)}
{pt3dadd(32.243,156.077,-49.191,0.3)}
{pt3dadd(34.85,163.716,-49.496,0.3)}
{pt3dadd(38.907,169.451,-50.676,0.3)}
{pt3dadd(42.703,174.631,-50.798,0.3)}
{pt3dadd(45.2,178.221,-50.186,0.3)}
{pt3dadd(47.462,184.425,-52.508,0.3)}
{pt3dadd(48.402,189.539,-54.076,0.3)}
{pt3dadd(50.277,195.703,-55.808,0.3)}
{pt3dadd(51.978,199.314,-56.561,0.3)}
{pt3dadd(55.805,205.184,-61.267,0.3)}
{pt3dadd(60.09,210.388,-61.49,0.3)}
{pt3dadd(65.452,215.233,-63.996,0.3)}
{pt3dadd(68.059,222.873,-64.3,0.3)}
{pt3dadd(69.797,227.966,-64.504,0.3)}

{access apical_dendrite[12]}
{pt3dclear()}
{pt3dadd(5.793,86.58,-31.533,0.6)}
{pt3dadd(6.346,94.53,-41.62,0.3)}
{pt3dadd(6.127,102.398,-50.524,0.3)}
{pt3dadd(7.769,108.3,-58.349,0.3)}
{pt3dadd(8.25,113.682,-66.968,0.3)}
{pt3dadd(7.62,121.613,-77.83,0.3)}
{pt3dadd(6.071,130.475,-87.957,0.3)}
{pt3dadd(6.272,139.47,-99.47,0.3)}
{pt3dadd(5.642,147.4,-110.331,0.3)}
{pt3dadd(-2.909,152.062,-123.211,0.3)}
{pt3dadd(-7.887,156.681,-131.22,0.3)}
{pt3dadd(-12.839,157.925,-142.408,0.3)}
{pt3dadd(-18.734,160.203,-155.41,0.3)}
{pt3dadd(-23.507,164.791,-162.441,0.3)}

{access apical_dendrite[13]}
{pt3dclear()}
{pt3dadd(7.516,57.363,-25.667,1.1)}
{pt3dadd(11.334,58.771,-31.535,0.3)}

{access apical_dendrite[14]}
{pt3dclear()}
{pt3dadd(11.334,58.771,-31.535,0.3)}
{pt3dadd(16.637,62.633,-34.571,0.3)}
{pt3dadd(23.338,64.4,-33.877,0.3)}
{pt3dadd(30.608,66.675,-32.775,0.3)}
{pt3dadd(33.252,75.797,-32.529,0.3)}
{pt3dadd(31.618,83.778,-33.466,0.3)}

{access apical_dendrite[15]}
{pt3dclear()}
{pt3dadd(31.618,83.778,-33.466,0.3)}
{pt3dadd(36.17,87.059,-35.34,0.3)}
{pt3dadd(42.258,89.314,-35.013,0.3)}
{pt3dadd(48.964,88.601,-34.91,0.3)}
{pt3dadd(56.312,87.691,-29.326,0.3)}
{pt3dadd(60.574,90.122,-22.987,0.3)}
{pt3dadd(62.656,90.105,-20.358,0.3)}

{access apical_dendrite[16]}
{pt3dclear()}
{pt3dadd(31.618,83.778,-33.466,0.3)}
{pt3dadd(32.057,93.827,-33.75,0.3)}
{pt3dadd(33.359,102.357,-32.73,0.3)}
{pt3dadd(35.166,112.894,-31.242,0.3)}
{pt3dadd(36.081,121.383,-29.631,0.3)}
{pt3dadd(39.419,130.499,-28.508,0.3)}
{pt3dadd(41.612,141.076,-27.61,0.3)}
{pt3dadd(44.234,150.697,-27.344,0.3)}
{pt3dadd(47.127,158.789,-26.161,0.3)}
{pt3dadd(48.55,166.408,-27.24,0.3)}

{access apical_dendrite[17]}
{pt3dclear()}
{pt3dadd(11.334,58.771,-31.535,0.3)}
{pt3dadd(10.787,61.036,-38.505,0.3)}
{pt3dadd(11.8,65.446,-47.267,0.3)}
{pt3dadd(9.363,66.112,-53.89,0.3)}
{pt3dadd(4.791,69.876,-65.078,0.3)}
{pt3dadd(-0.738,66.546,-75.268,0.3)}
{pt3dadd(-3.281,63.558,-78.407,0.3)}
{pt3dadd(-4.831,52.785,-86.091,0.3)}
{pt3dadd(-8.219,43.876,-92.308,0.3)}
{pt3dadd(-12.023,37.509,-99.89,0.3)}
{pt3dadd(-15.093,33.013,-103.477,0.3)}
{pt3dadd(-17.166,30.946,-104.13,0.3)}
}
proc shape3d_7() {
  {access apical_dendrite[18]}
{pt3dclear()}
{pt3dadd(7.719,34.424,-15.704,1.2)}
{pt3dadd(7.881,35.391,-14.685,0.3)}

{access apical_dendrite[19]}
{pt3dclear()}
{pt3dadd(7.881,35.391,-14.685,0.3)}
{pt3dadd(10.948,39.49,-13.665,0.3)}
{pt3dadd(12.838,41.089,-14.011,0.3)}

{access apical_dendrite[20]}
{pt3dclear()}
{pt3dadd(12.838,41.089,-14.011,0.3)}
{pt3dadd(20.398,40.942,-14.581,0.3)}
{pt3dadd(27.805,44.288,-15.008,0.3)}
{pt3dadd(33.236,48.031,-15.007,0.3)}
{pt3dadd(39.834,49.813,-14.802,0.3)}
{pt3dadd(45.473,50.649,-16.981,0.3)}
{pt3dadd(54.428,51.283,-22.931,0.3)}
{pt3dadd(58.324,56.051,-25.13,0.3)}
{pt3dadd(58.77,57.075,-25.192,0.3)}

{access apical_dendrite[21]}
{pt3dclear()}
{pt3dadd(12.838,41.089,-14.011,0.3)}
{pt3dadd(11.931,46.878,-9.548,0.3)}
{pt3dadd(20.372,54.133,-6.489,0.3)}
{pt3dadd(25.111,58.278,-4.797,0.3)}
{pt3dadd(30.996,60.961,-2.88,0.3)}
{pt3dadd(35.088,67.782,-6.079,0.3)}
{pt3dadd(36.518,72.921,-7.749,0.3)}

{access apical_dendrite[22]}
{pt3dclear()}
{pt3dadd(36.518,72.921,-7.749,0.3)}
{pt3dadd(38.315,78.997,-7.422,0.3)}
{pt3dadd(38.804,85.568,-8.338,0.3)}
{pt3dadd(39.811,95.729,-10.783,0.3)}
{pt3dadd(40.468,107.332,-12.086,0.3)}
{pt3dadd(40.681,117.911,-13.328,0.3)}
{pt3dadd(42.163,126.513,-13.877,0.3)}
{pt3dadd(42.563,134.684,-17.279,0.3)}
{pt3dadd(43.329,143.791,-18.684,0.3)}
{pt3dadd(44.88,151.292,-16.727,0.3)}
{pt3dadd(48.268,156.93,-16.237,0.3)}
{pt3dadd(50.146,163.489,-15.4,0.3)}

{access apical_dendrite[23]}
{pt3dclear()}
{pt3dadd(36.518,72.921,-7.749,0.3)}
{pt3dadd(43.375,74.863,-11.171,0.3)}
{pt3dadd(48.092,79.507,-9.459,0.3)}
{pt3dadd(53.301,84.572,-5.28,0.3)}
{pt3dadd(60.437,86.173,-0.082,0.3)}
{pt3dadd(64.144,90.076,6.42,0.3)}
{pt3dadd(68.519,93.681,8.682,0.3)}
{pt3dadd(70.951,98.768,9.356,0.3)}
{pt3dadd(74.993,102.522,7.604,0.3)}
{pt3dadd(80.84,103.723,8.97,0.3)}
{pt3dadd(84.573,104.251,12.293,0.3)}
{pt3dadd(87.562,108.263,15.371,0.3)}
{pt3dadd(90.98,111.317,17.817,0.3)}
{pt3dadd(96.423,113.372,22.362,0.3)}
{pt3dadd(101.865,115.427,26.907,0.3)}

{access apical_dendrite[24]}
{pt3dclear()}
{pt3dadd(7.881,35.391,-14.685,0.3)}
{pt3dadd(7.572,38.709,-10.426,0.3)}
{pt3dadd(16.427,43.027,-8.57,0.3)}
{pt3dadd(18.426,51.947,-4.106,0.3)}
{pt3dadd(22.144,57.039,-2.169,0.3)}
{pt3dadd(25.316,61.519,1.908,0.3)}
{pt3dadd(28.386,66.014,5.495,0.3)}
{pt3dadd(31.755,72.547,8.574,0.3)}
{pt3dadd(36.164,77.237,8.819,0.3)}
{pt3dadd(44.375,78.082,9.167,0.3)}
{pt3dadd(48.071,83.673,11.124,0.3)}
{pt3dadd(54.292,89.875,13.082,0.3)}
{pt3dadd(61.833,97.167,14.286,0.3)}
{pt3dadd(65.669,104.224,17.283,0.3)}
{pt3dadd(68.611,112.11,23.561,0.3)}

{access user5[25]}
{pt3dclear()}
{pt3dadd(3.692,26.105,-12.567,2)}
{pt3dadd(5.352,27.839,-16.439,0.8)}
{pt3dadd(6.187,32.573,-21.064,0.8)}

{access user5[26]}
{pt3dclear()}
{pt3dadd(6.187,32.573,-21.064,0.8)}
{pt3dadd(6.519,41.845,-26.973,0.8)}

{access user5[27]}
{pt3dclear()}
{pt3dadd(6.519,41.845,-26.973,0.8)}
{pt3dadd(6.205,57.462,-29.478,0.6)}

{access user5[28]}
{pt3dclear()}
{pt3dadd(6.205,57.462,-29.478,0.6)}
{pt3dadd(6.623,61.464,-28.927,0.6)}
{pt3dadd(6.045,69.584,-32.126,0.6)}
{pt3dadd(6.154,73.634,-33.043,0.6)}

{access user5[29]}
{pt3dclear()}
{pt3dadd(6.154,73.634,-33.043,0.6)}
{pt3dadd(4.636,89.73,-36.302,0.6)}
{pt3dadd(2.871,100.706,-37.116,0.6)}
{pt3dadd(1.389,105.193,-38.196,0.6)}
{pt3dadd(1.757,109.402,-42.74,0.6)}
{pt3dadd(1.991,112.937,-43.188,0.6)}

{access user5[30]}
{pt3dclear()}
{pt3dadd(1.991,112.937,-43.188,0.6)}
{pt3dadd(3.415,120.557,-44.267,0.6)}
{pt3dadd(5.255,125.634,-43.981,0.6)}

{access user5[31]}
{pt3dclear()}
{pt3dadd(5.255,125.634,-43.981,0.6)}
{pt3dadd(5.028,132.709,-45.753,0.6)}
{pt3dadd(5.723,139.249,-45.691,0.6)}

{access user5[32]}
{pt3dclear()}
{pt3dadd(5.723,139.249,-45.691,0.6)}
{pt3dadd(5.132,145.784,-46.893,0.6)}

{access user5[33]}
{pt3dclear()}
{pt3dadd(5.132,145.784,-46.893,0.6)}
{pt3dadd(3.265,163.32,-49.011,0.6)}

{access user5[34]}
{pt3dclear()}
{pt3dadd(3.265,163.32,-49.011,0.6)}
{pt3dadd(3.826,172.458,-51.394,0.6)}
}
proc shape3d_8() {
{access user5[35]}
{pt3dclear()}
{pt3dadd(3.826,172.458,-51.394,0.6)}
{pt3dadd(5.639,180.515,-50.496,0.6)}
{pt3dadd(5.873,197.14,-52.573,0.6)}
{pt3dadd(6.97,205.701,-52.532,0.6)}
{pt3dadd(6.08,216.744,-54.038,0.6)}
{pt3dadd(5.738,222.249,-54.303,0.6)}

{access user5[36]}
{pt3dclear()}
{pt3dadd(5.738,222.249,-54.303,0.6)}
{pt3dadd(8.295,233.367,-53.975,0.6)}
{pt3dadd(9.451,249.456,-54.218,0.6)}

{access user5[37]}
{pt3dclear()}
{pt3dadd(9.451,249.456,-54.218,0.6)}
{pt3dadd(13.014,264.191,-55.52,0.4)}
{pt3dadd(14.992,276.883,-57.577,0.4)}
{pt3dadd(17.197,289.046,-58.676,0.4)}

{access user5[38]}
{pt3dclear()}
{pt3dadd(17.197,289.046,-58.676,0.4)}
{pt3dadd(17.892,302.13,-59.429,0.4)}
{pt3dadd(19.851,309.173,-58.083,0.4)}
{pt3dadd(21.436,317.76,-58.143,0.4)}
{pt3dadd(23.707,328.425,-59.303,0.4)}
{pt3dadd(25.788,341.103,-60.871,0.4)}
{pt3dadd(28.678,355.344,-63.07,0.4)}
{pt3dadd(32.686,371.102,-64.433,0.4)}
{pt3dadd(36.134,384.267,-64.227,0.4)}
{pt3dadd(37.054,402.971,-67.404,0.4)}
{pt3dadd(39.844,417.623,-67.525,0.4)}
{pt3dadd(43.176,429.219,-65.812,0.4)}
{pt3dadd(45.247,440.707,-62.814,0.4)}
{pt3dadd(49.289,454.278,-59.654,0.4)}
{pt3dadd(52.59,461.912,-59.082,0.4)}

{access user5[39]}
{pt3dclear()}
{pt3dadd(52.59,461.912,-59.082,0.4)}
{pt3dadd(50.254,469.106,-53.763,0.4)}
{pt3dadd(46.327,476.738,-48.607,0.4)}
{pt3dadd(39.714,482.792,-44.47,0.4)}
{pt3dadd(32.836,487.894,-41.842,0.4)}
{pt3dadd(26.163,492.965,-38.235,0.4)}

{access user5[40]}
{pt3dclear()}
{pt3dadd(26.163,492.965,-38.235,0.4)}
{pt3dadd(21.62,500.691,-36.014,0.4)}
{pt3dadd(12.672,507.394,-38.012,0.4)}
{pt3dadd(5.878,510.104,-38.033,0.4)}
{pt3dadd(-3.02,513.33,-40.662,0.4)}
{pt3dadd(-7.784,519.105,-39.99,0.4)}
{pt3dadd(-15.303,527.676,-37.117,0.4)}
{pt3dadd(-17.113,539.649,-25.622,0.4)}
{pt3dadd(-20.193,543.782,-19.733,0.4)}
{pt3dadd(-23.712,550.955,-15.188,0.4)}
{pt3dadd(-28.612,555.661,-12.988,0.4)}
{pt3dadd(-38.048,559.462,-5.774,0.4)}
{pt3dadd(-51.779,559.746,-2.882,0.4)}

{access user5[41]}
{pt3dclear()}
{pt3dadd(26.163,492.965,-38.235,0.4)}
{pt3dadd(28.631,496.261,-30.47,0.4)}
{pt3dadd(25.931,502.915,-24.581,0.4)}
{pt3dadd(21.416,510.933,-17.244,0.4)}
{pt3dadd(18.906,515.575,-10.947,0.4)}
{pt3dadd(19.366,521.851,-4.711,0.4)}
{pt3dadd(17.707,533.208,-2.468,0.4)}
{pt3dadd(19.603,542.144,1.507,0.4)}

{access user5[42]}
{pt3dclear()}
{pt3dadd(52.59,461.912,-59.082,0.4)}
{pt3dadd(54.764,470.113,-61.323,0.4)}
{pt3dadd(61.786,479.963,-61.973,0.4)}
{pt3dadd(65.055,483.635,-62.543,0.4)}
{pt3dadd(71.648,491.17,-68.288,0.4)}
{pt3dadd(78.063,495.758,-75.623,0.4)}
{pt3dadd(86.618,500.915,-82.366,0.4)}
{pt3dadd(90.218,507.314,-88.03,0.4)}

{access user5[43]}
{pt3dclear()}
{pt3dadd(90.218,507.314,-88.03,0.4)}
{pt3dadd(92.747,511.594,-92.003,0.4)}
{pt3dadd(98.835,517.123,-98.218,0.4)}

{access user5[44]}
{pt3dclear()}
{pt3dadd(90.218,507.314,-88.03,0.4)}
{pt3dadd(90.138,510.104,-95.081,0.4)}
{pt3dadd(90.025,515.081,-106.656,0.4)}
{pt3dadd(90.525,519.568,-117.863,0.4)}
{pt3dadd(92.008,524.899,-124.139,0.4)}
{pt3dadd(96.847,528.632,-124.525,0.4)}
{pt3dadd(100.194,532.392,-127.153,0.4)}
{pt3dadd(104.23,538.626,-128.314,0.4)}
{pt3dadd(105.304,541.141,-127.437,0.4)}

{access apical_dendrite[25]}
{pt3dclear()}
{pt3dadd(17.197,289.046,-58.676,0.4)}
{pt3dadd(16.317,294.733,-63.933,0.4)}
{pt3dadd(18.523,303.623,-70.759,0.4)}
{pt3dadd(18.847,308.831,-75.262,0.4)}
{pt3dadd(18.827,312.603,-81.783,0.4)}
{pt3dadd(18.214,316.365,-88.691,0.4)}
{pt3dadd(21.279,316.797,-95.965,0.4)}
{pt3dadd(23.236,320.172,-102.914,0.4)}
{pt3dadd(26.664,324.415,-105.032,0.4)}
{pt3dadd(31.6,327.341,-110.065,0.4)}
{pt3dadd(32.928,329.224,-117.951,0.4)}
{pt3dadd(33.529,330.423,-122.128,0.4)}

{access user5[45]}
{pt3dclear()}
{pt3dadd(9.451,249.456,-54.218,0.6)}
{pt3dadd(3.502,277.722,-53.605,0.4)}
{pt3dadd(-2.07,301.569,-54.744,0.4)}
{pt3dadd(-5.765,325.43,-54.233,0.4)}
{pt3dadd(-8.221,343.352,-54.17,0.4)}
{pt3dadd(-9.842,356.19,-51.378,0.4)}
{pt3dadd(-10.909,380.647,-50.377,0.4)}
{pt3dadd(-11.173,402.602,-48.602,0.4)}
{pt3dadd(-13.174,419.464,-46.624,0.4)}
{pt3dadd(-11.536,431.513,-45.562,0.4)}
{pt3dadd(-18.109,442.718,-44.849,0.4)}
{pt3dadd(-23.831,457.364,-41.649,0.4)}
{pt3dadd(-30.812,469.027,-40.324,0.4)}
{pt3dadd(-38.175,477.773,-41.567,0.4)}
{pt3dadd(-44.704,487.979,-40.894,0.4)}
{pt3dadd(-49.74,501.432,-44.521,0.4)}
{pt3dadd(-55.908,511.783,-46.987,0.4)}
{pt3dadd(-61.534,519.076,-47.618,0.4)}
{pt3dadd(-68.67,527.292,-47.904,0.4)}
{pt3dadd(-70.573,533.925,-40.649,0.4)}
{pt3dadd(-74.621,542.467,-33.394,0.4)}
{pt3dadd(-74.052,546.248,-27.259,0.4)}

{access apical_dendrite[26]}
{pt3dclear()}
{pt3dadd(5.738,222.249,-54.303,0.6)}
{pt3dadd(3.578,235.268,-56.503,0.4)}
{pt3dadd(-3.277,249.69,-61.25,0.4)}
{pt3dadd(-9.758,262.567,-64.592,0.4)}
{pt3dadd(-14.883,271.471,-67.323,0.4)}
{pt3dadd(-17.071,280.924,-68.096,0.4)}
{pt3dadd(-22.248,292.911,-72.762,0.4)}
{pt3dadd(-27.823,303.271,-74.841,0.4)}
{pt3dadd(-32.204,302.147,-76.513,0.4)}
{pt3dadd(-34.81,301.052,-77.022,0.4)}

{access apical_dendrite[27]}
{pt3dclear()}
{pt3dadd(3.826,172.458,-51.394,0.6)}
{pt3dadd(1.24,183.559,-56.121,0.4)}
{pt3dadd(-3.528,201.632,-62.213,0.4)}
{pt3dadd(-4.24,218.896,-68.671,0.4)}
{pt3dadd(-6.919,241.018,-73.54,0.4)}
{pt3dadd(-10.65,260.125,-79.306,0.4)}
{pt3dadd(-16.25,270.588,-83.931,0.4)}
{pt3dadd(-15.645,282.001,-92.897,0.4)}
{pt3dadd(-16.55,291.063,-94.974,0.4)}

{access apical_dendrite[28]}
{pt3dclear()}
{pt3dadd(3.265,163.32,-49.011,0.6)}
{pt3dadd(2.714,165.188,-46.28,0.4)}
{pt3dadd(1.387,176.395,-40.023,0.4)}
{pt3dadd(-0.161,185.651,-35.315,0.4)}
{pt3dadd(-3.564,194.395,-32.278,0.4)}
{pt3dadd(-6.248,199.758,-31.544,0.4)}
{pt3dadd(-7.474,210.553,-27.366,0.4)}
{pt3dadd(-9.903,218.951,-27.1,0.4)}
{pt3dadd(-12.81,231.785,-25.571,0.4)}
{pt3dadd(-14.018,241.685,-23.98,0.4)}
{pt3dadd(-15.556,255.403,-18.11,0.4)}
{pt3dadd(-15.78,272.691,-12.403,0.4)}
{pt3dadd(-16.403,278.536,-9.019,0.4)}

{access apical_dendrite[29]}
{pt3dclear()}
{pt3dadd(5.132,145.784,-46.893,0.6)}
{pt3dadd(6.775,152.08,-39.882,0.4)}
{pt3dadd(8.883,158.505,-35.52,0.4)}
{pt3dadd(10.014,171.424,-31.769,0.4)}
{pt3dadd(11.209,182.846,-28.079,0.4)}
{pt3dadd(10.434,192.185,-24.553,0.4)}
{pt3dadd(7.439,200.47,-22.127,0.4)}
{pt3dadd(1.778,206.678,-20.742,0.4)}
{pt3dadd(-1.706,214.938,-18.214,0.4)}
{pt3dadd(-6.986,223.667,-16.828,0.4)}
{pt3dadd(-11.613,230.513,-17.684,0.4)}
{pt3dadd(-15.038,239.755,-14.627,0.4)}
{pt3dadd(-16.641,245.153,-13.608,0.4)}

{access apical_dendrite[30]}
{pt3dclear()}
{pt3dadd(5.723,139.249,-45.691,0.6)}
{pt3dadd(9.223,139.515,-48.462,0.4)}
{pt3dadd(11.509,135.799,-53.149,0.4)}
{pt3dadd(13.892,141.093,-57.57,0.4)}
{pt3dadd(17.966,145.537,-63.907,0.4)}
{pt3dadd(17.89,151.996,-74.931,0.4)}
{pt3dadd(20.285,158.875,-81.35,0.4)}
{pt3dadd(24.378,162.424,-90.274,0.4)}
{pt3dadd(22.303,166.507,-106.577,0.4)}
{pt3dadd(22.856,167.912,-115.849,0.4)}

{access apical_dendrite[31]}
{pt3dclear()}
{pt3dadd(5.255,125.634,-43.981,0.6)}
{pt3dadd(9.901,134.255,-41.615,0.4)}
{pt3dadd(13.728,143.397,-40.595,0.4)}
{pt3dadd(18.567,147.13,-40.981,0.4)}
{pt3dadd(24.286,151.721,-36.925,0.4)}
{pt3dadd(33.07,160.016,-34.416,0.4)}
{pt3dadd(38.706,163.728,-33.437,0.4)}
{pt3dadd(46.797,165.879,-28.422,0.4)}
{pt3dadd(54.168,167.744,-29.399,0.4)}
{pt3dadd(59.62,167.716,-35.145,0.4)}
{pt3dadd(63.88,166.479,-37.101,0.4)}
{pt3dadd(69.179,166.672,-36.163,0.4)}
{pt3dadd(73.009,166.392,-37.487,0.4)}
{pt3dadd(77.59,166.694,-39.973,0.4)}
{pt3dadd(80.34,172.923,-42.397,0.4)}

{access apical_dendrite[32]}
{pt3dclear()}
{pt3dadd(1.991,112.937,-43.188,0.6)}
{pt3dadd(4.437,122.883,-51.052,0.4)}
{pt3dadd(5.634,127.761,-58.816,0.4)}
{pt3dadd(5.532,131.049,-65.846,0.4)}
{pt3dadd(4.926,132.331,-73.346,0.4)}
{pt3dadd(1.673,133.913,-78.746,0.4)}
{pt3dadd(1.36,139.713,-86.163,0.4)}
{pt3dadd(0.069,145.462,-93.377,0.4)}
{pt3dadd(-3.264,159.65,-100.916,0.4)}
{pt3dadd(-2.612,170.461,-107.354,0.4)}
{pt3dadd(-1.835,180.757,-113.324,0.4)}
{pt3dadd(-1.159,184.919,-116.401,0.4)}
{pt3dadd(-2.173,186.659,-123.289,0.4)}
{pt3dadd(-1.558,189.443,-129.463,0.4)}
{pt3dadd(0.606,193.183,-132.866,0.4)}
{pt3dadd(4.085,193.949,-135.616,0.4)}

{access apical_dendrite[33]}
{pt3dclear()}
{pt3dadd(6.154,73.634,-33.043,0.6)}
{pt3dadd(6.5,71.797,-36.752,0.4)}
{pt3dadd(14.415,67.728,-39.054,0.4)}
{pt3dadd(22.522,62.044,-38.381,0.4)}
{pt3dadd(30.814,56.827,-36.709,0.4)}
{pt3dadd(36.384,55.492,-34.854,0.4)}
{pt3dadd(45.522,53.321,-33.264,0.4)}
{pt3dadd(51.705,51.496,-31.042,0.4)}
{pt3dadd(58.928,51.101,-25.926,0.4)}
{pt3dadd(64.009,49.74,-23.969,0.4)}
{pt3dadd(67.431,49.918,-24.682,0.4)}

{access apical_dendrite[34]}
{pt3dclear()}
{pt3dadd(6.205,57.462,-29.478,0.6)}
{pt3dadd(4.877,61.728,-37.242,0.4)}

{access apical_dendrite[35]}
{pt3dclear()}
{pt3dadd(4.877,61.728,-37.242,0.4)}
{pt3dadd(-0.941,67.366,-46.576,0.4)}
{pt3dadd(-2.904,72.622,-54.686,0.4)}
{pt3dadd(-4.635,78.139,-56.703,0.4)}
{pt3dadd(-6.371,86.136,-58.129,0.4)}
{pt3dadd(-9.73,97.154,-61.674,0.4)}
{pt3dadd(-14.462,110.164,-66.401,0.4)}
{pt3dadd(-19.252,122.192,-71.658,0.4)}
{pt3dadd(-21.175,129.325,-76.651,0.4)}
{pt3dadd(-22.865,133.447,-81.276,0.4)}
{pt3dadd(-26.174,140.987,-85.454,0.4)}
{pt3dadd(-29.358,148.013,-89.162,0.4)}
{pt3dadd(-32.786,153.587,-94.399,0.4)}
{pt3dadd(-37.057,156.512,-96.988,0.4)}
{pt3dadd(-40.889,162.941,-99.046,0.4)}
{pt3dadd(-45.372,168.377,-102.021,0.4)}
{pt3dadd(-48.233,170.792,-102.877,0.4)}

{access apical_dendrite[36]}
{pt3dclear()}
{pt3dadd(4.877,61.728,-37.242,0.4)}
{pt3dadd(4.548,59.002,-44.416,0.4)}
{pt3dadd(-0.89,60.616,-52.934,0.4)}
{pt3dadd(-3.585,70.94,-63.286,0.4)}
{pt3dadd(-8.008,80.632,-72.272,0.4)}
{pt3dadd(-10.304,89.309,-78.671,0.4)}
{pt3dadd(-14.491,96.387,-84.723,0.4)}
{pt3dadd(-18.99,99.842,-88.269,0.4)}
{pt3dadd(-26.898,98.158,-92.285,0.4)}
{pt3dadd(-30.456,100.183,-96.585,0.4)}
{pt3dadd(-33.51,104.213,-100.416,0.4)}
{pt3dadd(-33.633,108.001,-107.426,0.4)}
{pt3dadd(-34.622,116.183,-112.581,0.4)}
{pt3dadd(-36.452,125.385,-119.061,0.4)}
{pt3dadd(-36.781,125.93,-120.508,0.4)}
}
proc shape3d_9() {
  {access apical_dendrite[37]}
{pt3dclear()}
{pt3dadd(6.519,41.845,-26.973,0.8)}
{pt3dadd(10.738,38.73,-32.047,0.4)}
{pt3dadd(14.192,39.599,-37.345,0.4)}
{pt3dadd(14.15,43.87,-43.845,0.4)}
{pt3dadd(16.492,47.286,-51.384,0.4)}
{pt3dadd(17.468,50.214,-60.697,0.4)}
{pt3dadd(18.232,49.109,-69.582,0.4)}
{pt3dadd(22.505,49.457,-73.535,0.4)}
{pt3dadd(21.314,54.794,-82.827,0.4)}
{pt3dadd(19.957,62.04,-89.979,0.4)}
{pt3dadd(23.835,64.431,-95.318,0.4)}
{pt3dadd(25.283,62.131,-98.762,0.4)}
{pt3dadd(26.862,56.836,-102.328,0.4)}
{pt3dadd(30.197,49.194,-107.872,0.4)}
{pt3dadd(34.036,43.558,-112.946,0.4)}
{pt3dadd(39.841,42.486,-117.265,0.4)}
{pt3dadd(41.311,39.686,-120.73,0.4)}
{pt3dadd(45.711,36.644,-127.373,0.4)}

{access apical_dendrite[38]}
{pt3dclear()}
{pt3dadd(6.187,32.573,-21.064,0.8)}
{pt3dadd(0.336,33.853,-34.107,0.4)}
{pt3dadd(-7.298,34.31,-41.179,0.4)}
{pt3dadd(-13.727,34.288,-47.498,0.4)}
{pt3dadd(-18.584,34.723,-51.064,0.4)}
{pt3dadd(-23.244,37.211,-55.63,0.4)}
{pt3dadd(-26.646,39.411,-64.046,0.4)}
{pt3dadd(-32.623,37.933,-71.016,0.4)}
{pt3dadd(-37.256,37.442,-76.193,0.4)}
{pt3dadd(-41.951,38.844,-78.741,0.4)}
{pt3dadd(-47.527,42.659,-80.005,0.4)}
{pt3dadd(-52.318,48.142,-84.447,0.4)}
{pt3dadd(-56.231,50.815,-92.742,0.4)}
{pt3dadd(-58.792,51.996,-99.834,0.4)}
{pt3dadd(-61.827,55.131,-106.253,0.4)}
{pt3dadd(-65.217,62.188,-110.94,0.4)}
{pt3dadd(-66.574,66.161,-111.551,0.4)}

{access user5[46]}
{pt3dclear()}
{pt3dadd(0,0,0,10.68)}
{pt3dadd(-3.646,12.236,0.289,2.2)}
{pt3dadd(-4.985,18.586,2.817,1)}
{pt3dadd(-5.244,24.971,5.629,1)}

{access user5[47]}
{pt3dclear()}
{pt3dadd(-5.244,24.971,5.629,1)}
{pt3dadd(-12.034,34.622,7.362,1)}
{pt3dadd(-14.186,39.012,7.953,1)}

{access user5[48]}
{pt3dclear()}
{pt3dadd(-14.186,39.012,7.953,1)}
{pt3dadd(-15.101,46.884,10.44,0.6)}
{pt3dadd(-16.439,59.779,12.152,0.6)}

{access user5[49]}
{pt3dclear()}
{pt3dadd(-16.439,59.779,12.152,0.6)}
{pt3dadd(-18.684,68.645,13.416,0.6)}
{pt3dadd(-21.636,75.932,15.801,0.6)}

{access user5[50]}
{pt3dclear()}
{pt3dadd(-21.636,75.932,15.801,0.6)}
{pt3dadd(-23.7,84.871,15.496,0.6)}
{pt3dadd(-26.324,97.761,15.945,0.6)}

{access user5[51]}
{pt3dclear()}
{pt3dadd(-26.324,97.761,15.945,0.6)}
{pt3dadd(-26.467,105.716,17.25,0.6)}
{pt3dadd(-27.463,113.105,19.228,0.6)}

{access user5[52]}
{pt3dclear()}
{pt3dadd(-27.463,113.105,19.228,0.6)}
{pt3dadd(-28.365,122.563,19.718,0.6)}

{access user5[53]}
{pt3dclear()}
{pt3dadd(-28.365,122.563,19.718,0.6)}
{pt3dadd(-28.076,136.501,22.144,0.6)}

{access user5[54]}
{pt3dclear()}
{pt3dadd(-28.076,136.501,22.144,0.6)}
{pt3dadd(-30.482,144.4,22.389,0.6)}

{access user5[55]}
{pt3dclear()}
{pt3dadd(-30.482,144.4,22.389,0.6)}
{pt3dadd(-31.618,156.868,22.512,0.4)}
{pt3dadd(-32.701,172.798,23.757,0.4)}
{pt3dadd(-33.083,186.243,25.287,0.4)}
{pt3dadd(-33.525,192.161,27.101,0.4)}

{access user5[56]}
{pt3dclear()}
{pt3dadd(-33.525,192.161,27.101,0.4)}
{pt3dadd(-33.288,202.636,28.406,0.4)}

{access user5[57]}
{pt3dclear()}
{pt3dadd(-33.288,202.636,28.406,0.4)}
{pt3dadd(-33.066,217.676,28.326,0.4)}

{access user5[58]}
{pt3dclear()}
{pt3dadd(-33.066,217.676,28.326,0.4)}
{pt3dadd(-33.736,224.123,29.183,0.4)}

{access user5[59]}
{pt3dclear()}
{pt3dadd(-33.736,224.123,29.183,0.4)}
{pt3dadd(-34.293,235.016,31.69,0.4)}
{pt3dadd(-35.027,242.961,32.608,0.4)}

{access user5[60]}
{pt3dclear()}
{pt3dadd(-35.027,242.961,32.608,0.4)}
{pt3dadd(-34.725,251.939,33.852,0.4)}
{pt3dadd(-35.347,264.329,36.421,0.4)}
{pt3dadd(-34.556,279.878,36.748,0.4)}
{pt3dadd(-34.851,291.326,38.196,0.4)}

{access user5[61]}
{pt3dclear()}
{pt3dadd(-34.851,291.326,38.196,0.4)}
{pt3dadd(-33.185,300.397,38.646,0.4)}
{pt3dadd(-32.97,311.372,39.972,0.4)}

{access user5[62]}
{pt3dclear()}
{pt3dadd(-32.97,311.372,39.972,0.4)}
{pt3dadd(-33.832,322.707,43.58,0.4)}

{access user5[63]}
{pt3dclear()}
{pt3dadd(-33.832,322.707,43.58,0.4)}
{pt3dadd(-34.324,335.374,51.753,0.4)}
{pt3dadd(-32.08,346.141,60.313,0.3)}
{pt3dadd(-30.409,359.276,71.624,0.3)}
{pt3dadd(-29.746,365.125,76.272,0.3)}
{pt3dadd(-30.213,374.417,81.265,0.3)}
{pt3dadd(-29.672,381.177,88.011,0.3)}
{pt3dadd(-27.623,386.62,91.843,0.3)}
{pt3dadd(-27.804,396.364,98.324,0.3)}
{pt3dadd(-28.352,405.173,102.808,0.3)}
{pt3dadd(-29.23,414.527,105.846,0.3)}
{pt3dadd(-29.953,420.784,111.308,0.3)}

{access user5[64]}
{pt3dclear()}
{pt3dadd(-29.953,420.784,111.308,0.3)}
{pt3dadd(-31.47,427.458,117.972,0.3)}
{pt3dadd(-30.698,430.812,122.517,0.3)}
}
proc shape3d_10() {
{access user5[65]}
{pt3dclear()}
{pt3dadd(-30.698,430.812,122.517,0.3)}
{pt3dadd(-31.185,434.454,130.913,0.3)}
{pt3dadd(-27.885,438.815,138.026,0.3)}
{pt3dadd(-23.623,441.246,144.364,0.3)}
{pt3dadd(-18.671,446.547,154.738,0.3)}
{pt3dadd(-15.495,451.423,161.383,0.3)}
{pt3dadd(-13.164,460.193,169.861,0.3)}
{pt3dadd(-8.426,467.61,177.28,0.3)}
{pt3dadd(-2.877,476.59,184.068,0.3)}
{pt3dadd(0.538,482.521,189.673,0.3)}
{pt3dadd(5.149,490.056,194.056,0.3)}
{pt3dadd(10.691,498.244,195.708,0.3)}
{pt3dadd(15.253,509.258,200.723,0.3)}
{pt3dadd(19.111,515.816,203.699,0.3)}
{pt3dadd(22.473,524.828,207.369,0.3)}
{pt3dadd(26.552,533.336,211.894,0.3)}
{pt3dadd(30.032,537.769,217.438,0.3)}
{pt3dadd(35.425,543.302,222.615,0.3)}
{pt3dadd(40.647,549.953,224.797,0.3)}
{pt3dadd(47.219,555.11,228.181,0.3)}
{pt3dadd(49.981,559.651,230.302,0.3)}
{pt3dadd(52.285,568.13,233.665,0.3)}
{pt3dadd(55.044,572.275,233.218,0.3)}
{pt3dadd(56.131,579.648,237.824,0.3)}
{pt3dadd(56.202,585.487,242.084,0.3)}
{pt3dadd(57.447,593.431,245.142,0.3)}
{pt3dadd(60.384,600.525,246.284,0.3)}
{pt3dadd(63.084,603.688,245.306,0.3)}

{access apical_dendrite[39]}
{pt3dclear()}
{pt3dadd(-30.698,430.812,122.517,0.3)}
{pt3dadd(-31.916,429.706,123.759,0.3)}
{pt3dadd(-33.227,426.531,126.49,0.3)}
{pt3dadd(-35.573,422.719,131.461,0.3)}
{pt3dadd(-37.551,419.844,138.43,0.3)}
{pt3dadd(-39.411,418.933,146.459,0.3)}
{pt3dadd(-41.455,417.554,153.489,0.3)}
{pt3dadd(-42.023,414.168,162.19,0.3)}

{access apical_dendrite[40]}
{pt3dclear()}
{pt3dadd(-29.953,420.784,111.308,0.3)}
{pt3dadd(-27.466,423.185,116.484,0.3)}
{pt3dadd(-23.117,423.62,122.741,0.3)}
{pt3dadd(-18.466,426.488,131.056,0.3)}
{pt3dadd(-15.824,425.791,138.658,0.3)}
{pt3dadd(-12.533,425.691,144.609,0.3)}
{pt3dadd(-9.772,423.688,147.544,0.3)}
{pt3dadd(-4.757,420.551,156.103,0.3)}
{pt3dadd(-0.872,417.585,159.282,0.3)}
{pt3dadd(4.517,416.177,162.706,0.3)}
{pt3dadd(8.981,411.636,168.27,0.3)}
{pt3dadd(12.714,405.619,172.406,0.3)}

{access user5[66]}
{pt3dclear()}
{pt3dadd(-33.832,322.707,43.58,0.4)}
{pt3dadd(-35.021,331.712,42.582,0.3)}
{pt3dadd(-34.457,341.246,42.766,0.3)}
{pt3dadd(-36.333,364.138,44.399,0.3)}
{pt3dadd(-38.238,390.01,46.642,0.3)}
{pt3dadd(-40.152,404.876,48.539,0.3)}

{access user5[67]}
{pt3dclear()}
{pt3dadd(-40.152,404.876,48.539,0.3)}
{pt3dadd(-38.38,414.326,52.045,0.3)}
{pt3dadd(-34.128,418.842,56.407,0.3)}
{pt3dadd(-30.625,422.775,61.931,0.3)}
{pt3dadd(-29.019,427.59,68.391,0.3)}
{pt3dadd(-27.401,437.261,78.582,0.3)}
{pt3dadd(-27.897,442.988,85.002,0.3)}
{pt3dadd(-27.975,452.717,91.972,0.3)}
{pt3dadd(-27.627,464.365,101.469,0.3)}
{pt3dadd(-28.842,473.472,110.192,0.3)}
{pt3dadd(-28.32,481.127,119.526,0.3)}
{pt3dadd(-26.016,486.332,129.431,0.3)}
{pt3dadd(-23.197,498.4,143.535,0.3)}
{pt3dadd(-22.018,504.568,153.195,0.3)}
{pt3dadd(-20.259,515.706,164.425,0.3)}
{pt3dadd(-20.291,524.833,173.922,0.3)}
{pt3dadd(-21.055,532.483,181.992,0.3)}
{pt3dadd(-23.288,539.662,187.801,0.3)}
{pt3dadd(-26.757,543.357,191.713,0.3)}
{pt3dadd(-30.618,549.492,196.808,0.3)}
{pt3dadd(-31.357,557.039,207.426,0.3)}
{pt3dadd(-31.29,569.027,220.571,0.3)}

{access apical_dendrite[41]}
{pt3dclear()}
{pt3dadd(-40.152,404.876,48.539,0.3)}
{pt3dadd(-42.085,410.82,48.111,0.3)}
{pt3dadd(-45.376,420.736,47.073,0.3)}
{pt3dadd(-48.987,429.115,46.564,0.3)}
{pt3dadd(-54.921,436.455,44.464,0.3)}
{pt3dadd(-60.049,441.691,45.707,0.3)}
{pt3dadd(-65.918,447.534,43.547,0.3)}
{pt3dadd(-69.473,449.954,41.815,0.3)}
{pt3dadd(-74.925,453.255,41.02,0.3)}
{pt3dadd(-79.676,454.07,40.51,0.3)}
{pt3dadd(-84.063,455.426,39.429,0.3)}

{access user5[68]}
{pt3dclear()}
{pt3dadd(-32.97,311.372,39.972,0.4)}
{pt3dadd(-32.48,317.942,39.055,0.3)}
{pt3dadd(-31.328,327.09,37.059,0.3)}
{pt3dadd(-28.4,336.268,36.225,0.3)}
{pt3dadd(-26.123,344.453,34.474,0.3)}

{access apical_dendrite[42]}
{pt3dclear()}
{pt3dadd(-26.123,344.453,34.474,0.3)}
{pt3dadd(-23.084,351.532,36.105,0.3)}
{pt3dadd(-18.784,358.718,36.453,0.3)}
{pt3dadd(-13.154,364.91,38.023,0.3)}
{pt3dadd(-8.266,374.981,41.917,0.3)}
{pt3dadd(-4.909,386.474,46.178,0.3)}
{pt3dadd(-3.692,397.397,49.847,0.3)}
{pt3dadd(-1.294,407.943,51.724,0.3)}
{pt3dadd(-0.372,413.952,52.743,0.3)}
{pt3dadd(2.234,421.592,52.439,0.3)}
{pt3dadd(5.354,429.154,54.58,0.3)}
{pt3dadd(5.606,435.065,57.27,0.3)}
{pt3dadd(7.207,439.088,58.595,0.3)}

{access user5[69]}
{pt3dclear()}
{pt3dadd(-26.123,344.453,34.474,0.3)}
{pt3dadd(-28.816,351.9,33.231,0.3)}
{pt3dadd(-27.452,358.537,31.622,0.3)}
{pt3dadd(-25.256,366.239,29.361,0.3)}
{pt3dadd(-23.512,375.397,27.752,0.3)}
{pt3dadd(-22.315,383.547,25.715,0.3)}
{pt3dadd(-21.06,392.679,24.208,0.3)}
{pt3dadd(-17.531,406.328,24.923,0.3)}
{pt3dadd(-14.588,417.487,24.66,0.3)}
{pt3dadd(-10.076,428.707,24.58,0.3)}
{pt3dadd(-8.133,440.314,24.541,0.3)}
{pt3dadd(-4.041,450.406,27.069,0.3)}
{pt3dadd(-0.865,458.555,27.172,0.3)}
{pt3dadd(-0.463,467.122,26.338,0.3)}
{pt3dadd(1.232,473.213,26.176,0.3)}

{access user5[70]}
{pt3dclear()}
{pt3dadd(1.232,473.213,26.176,0.3)}
{pt3dadd(6.793,480.507,25.24,0.3)}
{pt3dadd(11.019,484.729,24.487,0.3)}
{pt3dadd(14.248,489.795,26.526,0.3)}
{pt3dadd(19.899,495.488,28.076,0.3)}
{pt3dadd(24.457,499.561,31.337,0.3)}
{pt3dadd(31.027,504.322,32.154,0.3)}
{pt3dadd(35.576,510.479,33.439,0.3)}
{pt3dadd(39.191,515.586,34.887,0.3)}
{pt3dadd(44.136,519.699,37.557,0.3)}
{pt3dadd(51.007,526.894,40.432,0.3)}
{pt3dadd(58.007,530.698,40.617,0.3)}
{pt3dadd(65.465,537.111,38.744,0.3)}
{pt3dadd(70.952,541.441,36.707,0.3)}
{pt3dadd(74.529,545.066,37.605,0.3)}
{pt3dadd(78.266,549.263,36.953,0.3)}
{pt3dadd(84.043,557.714,32.431,0.3)}
{pt3dadd(87.609,563.028,28.784,0.3)}
{pt3dadd(92.364,565.882,25.321,0.3)}
{pt3dadd(96.692,570.089,25.057,0.3)}
{pt3dadd(100.07,571.265,24.385,0.3)}

{access user5[71]}
{pt3dclear()}
{pt3dadd(1.232,473.213,26.176,0.3)}
{pt3dadd(1.578,481.193,27.379,0.3)}
{pt3dadd(1.264,490.265,25.688,0.3)}
{pt3dadd(1.426,497.777,25.893,0.3)}
{pt3dadd(3.291,509.296,27.912,0.3)}
{pt3dadd(3.36,514.74,29.604,0.3)}
{pt3dadd(4.584,529.728,31.867,0.3)}
{pt3dadd(5.764,539.168,34.986,0.3)}
{pt3dadd(6.247,541.674,35.476,0.3)}


}
proc shape3d_11() {
{access user5[72]}
{pt3dclear()}
{pt3dadd(6.247,541.674,35.476,0.3)}
{pt3dadd(3.588,546.933,38.757,0.3)}
{pt3dadd(-0.127,552.054,44.3,0.3)}
{pt3dadd(-2.777,561.775,48.743,0.3)}
{pt3dadd(-7.538,567.946,51.983,0.3)}
{pt3dadd(-11.57,575.198,54.082,0.3)}
{pt3dadd(-14.992,581.564,53.981,0.3)}
{pt3dadd(-18.267,586.917,54.327,0.3)}
{pt3dadd(-20.954,595.156,58.22,0.3)}
{pt3dadd(-22.026,602.853,64.823,0.3)}
{pt3dadd(-24.826,609.918,72.791,0.3)}
{pt3dadd(-29.948,612.673,73.443,0.3)}
{pt3dadd(-37.488,611.926,71.425,0.3)}
{pt3dadd(-44.136,610.35,66.125,0.3)}
{pt3dadd(-49.17,611.109,66.695,0.3)}
{pt3dadd(-52.795,611.358,68.998,0.3)}

{access user5[73]}
{pt3dclear()}
{pt3dadd(6.247,541.674,35.476,0.3)}
{pt3dadd(8.875,548.814,35.151,0.3)}
{pt3dadd(11.217,558.774,39.065,0.3)}
{pt3dadd(13.54,566.357,39.84,0.3)}
{pt3dadd(13.839,578.211,44.243,0.3)}
{pt3dadd(17.304,587.208,48.402,0.3)}
{pt3dadd(21.797,592.778,51.725,0.3)}
{pt3dadd(26.209,597.865,54.538,0.3)}
{pt3dadd(28.273,605.288,58.941,0.3)}

{access apical_dendrite[43]}
{pt3dclear()}
{pt3dadd(-34.851,291.326,38.196,0.4)}
{pt3dadd(-37.011,297.801,36.811,0.3)}
{pt3dadd(-42.5,306.165,34.651,0.3)}
{pt3dadd(-45.224,316.195,31.452,0.3)}
{pt3dadd(-51.776,339.594,27.949,0.3)}
{pt3dadd(-56.007,350.942,27.664,0.3)}
{pt3dadd(-56.598,364.022,25.648,0.3)}
{pt3dadd(-58.586,372.652,20.717,0.3)}
{pt3dadd(-60.63,377.424,12.097,0.3)}
{pt3dadd(-64.335,380.462,7.348,0.3)}
{pt3dadd(-67.002,384.534,2.926,0.3)}

{access apical_dendrite[44]}
{pt3dclear()}
{pt3dadd(-35.027,242.961,32.608,0.4)}
{pt3dadd(-38.187,249.883,31.447,0.3)}
{pt3dadd(-43.106,252.211,30.509,0.3)}
{pt3dadd(-49.881,254.026,27.9,0.3)}
{pt3dadd(-56.852,260.333,25.474,0.3)}
{pt3dadd(-62.217,261.637,24.597,0.3)}
{pt3dadd(-69.829,264.867,23.231,0.3)}
{pt3dadd(-72.765,270.864,20.46,0.3)}
{pt3dadd(-74.813,275.238,21.54,0.3)}

{access user5[74]}
{pt3dclear()}
{pt3dadd(-33.736,224.123,29.183,0.4)}
{pt3dadd(-33.1,236.225,27.9,0.3)}
{pt3dadd(-31.772,247.925,24.926,0.3)}

{access user5[75]}
{pt3dclear()}
{pt3dadd(-31.772,247.925,24.926,0.3)}
{pt3dadd(-31.049,258.03,23.562,0.3)}
{pt3dadd(-29.355,264.122,23.4,0.3)}
{pt3dadd(-27.947,276.305,20.935,0.3)}
{pt3dadd(-25.084,293.526,19.348,0.3)}
{pt3dadd(-25.389,300.513,19.634,0.3)}

{access user5[76]}
{pt3dclear()}
{pt3dadd(-25.389,300.513,19.634,0.3)}
{pt3dadd(-25.541,310.552,18.962,0.3)}
{pt3dadd(-24.167,321.65,18.515,0.3)}
{pt3dadd(-23.232,335.789,16.724,0.3)}
{pt3dadd(-22.618,348.39,15.461,0.3)}
{pt3dadd(-20.419,363.032,14.954,0.3)}
{pt3dadd(-18.565,382.785,11.614,0.3)}
{pt3dadd(-16.92,398.899,11.269,0.3)}
{pt3dadd(-15.511,411.083,8.805,0.3)}
{pt3dadd(-13.82,423.323,5.26,0.3)}
{pt3dadd(-8.989,435.685,2.083,0.3)}
{pt3dadd(-7.167,444.931,-1.584,0.3)}
{pt3dadd(-8.05,453.494,-3.682,0.3)}
{pt3dadd(-8.977,463.054,-5.739,0.3)}
{pt3dadd(-10.828,479.3,-13.013,0.3)}
{pt3dadd(-15.584,492.413,-20.288,0.3)}
{pt3dadd(-15.244,506.147,-25.034,0.3)}
{pt3dadd(-13.34,515.876,-28.192,0.3)}
{pt3dadd(-11.502,527.102,-31.288,0.3)}
{pt3dadd(-10.296,536.441,-37.89,0.3)}
{pt3dadd(-8.237,539.801,-44.349,0.3)}
{pt3dadd(-9.434,547.618,-53.05,0.3)}
{pt3dadd(-12.21,554.185,-57.37,0.3)}
{pt3dadd(-11.35,558.816,-59.448,0.3)}

{access apical_dendrite[45]}
{pt3dclear()}
{pt3dadd(-25.389,300.513,19.634,0.3)}
{pt3dadd(-22.857,305.189,18.228,0.3)}
{pt3dadd(-19.378,312.499,14.664,0.3)}
{pt3dadd(-16.478,321.384,8.714,0.3)}
{pt3dadd(-14.123,329.657,4.905,0.3)}
{pt3dadd(-12.111,336.891,1.645,0.3)}
{pt3dadd(-9.635,344.253,-4.264,0.3)}
{pt3dadd(-5.791,352.104,-8.399,0.3)}
{pt3dadd(-0.918,356.923,-10.803,0.3)}
{pt3dadd(4.572,361.648,-10.272,0.3)}
{pt3dadd(7.879,366.802,-10.291,0.3)}

{access apical_dendrite[46]}
{pt3dclear()}
{pt3dadd(-31.772,247.925,24.926,0.3)}
{pt3dadd(-34.916,256.828,24.336,0.3)}
{pt3dadd(-38.583,274.438,18.509,0.3)}
{pt3dadd(-42.075,288.055,12.518,0.3)}
{pt3dadd(-46.19,294.427,11.54,0.3)}
{pt3dadd(-52.906,297.225,9.461,0.3)}
{pt3dadd(-60.328,304.988,7.688,0.3)}

{access apical_dendrite[47]}
{pt3dclear()}
{pt3dadd(-33.066,217.676,28.326,0.4)}
{pt3dadd(-37.058,223.533,27.817,0.3)}
{pt3dadd(-42.466,225.836,26.981,0.3)}
{pt3dadd(-47.438,231.247,24.107,0.3)}
{pt3dadd(-53.175,240.64,21.01,0.3)}
{pt3dadd(-59.062,244.106,15.711,0.3)}
{pt3dadd(-64.704,249.419,14.508,0.3)}
{pt3dadd(-69.769,252.761,13.122,0.3)}

{access apical_dendrite[48]}
{pt3dclear()}
{pt3dadd(-33.288,202.636,28.406,0.4)}
{pt3dadd(-33.018,210.925,34.235,0.3)}
{pt3dadd(-33.08,222.635,41.776,0.3)}
{pt3dadd(-35.089,228.887,45.975,0.3)}
{pt3dadd(-39.218,233.674,46.994,0.3)}
{pt3dadd(-37.145,235.74,59.914,0.3)}
{pt3dadd(-37.591,237.988,65.702,0.3)}
{pt3dadd(-37.732,243.066,76.116,0.3)}
{pt3dadd(-40.489,249.133,84.043,0.3)}
{pt3dadd(-41.464,259.295,91.727,0.3)}
{pt3dadd(-38.94,266.449,103.18,0.3)}

{access apical_dendrite[49]}
{pt3dclear()}
{pt3dadd(-33.525,192.161,27.101,0.4)}
{pt3dadd(-30.655,197.479,34.846,0.3)}
{pt3dadd(-30.98,202.088,44.261,0.3)}
{pt3dadd(-31.8,209.152,54.369,0.3)}
{pt3dadd(-28.043,219.393,65.151,0.3)}
{pt3dadd(-24.285,226.363,70.206,0.3)}
{pt3dadd(-21.794,235.705,77.136,0.3)}
{pt3dadd(-17.398,248.627,84.291,0.3)}
{pt3dadd(-14.665,259.42,92.749,0.3)}
{pt3dadd(-12.096,268.85,97.621,0.3)}
{pt3dadd(-9.266,278.835,101.433,0.3)}
{pt3dadd(-5.885,290.224,108.241,0.3)}
{pt3dadd(-2.678,299.062,116.027,0.3)}
{pt3dadd(-0.645,302.523,119.288,0.3)}
}
proc shape3d_12() {
{access apical_dendrite[50]}
{pt3dclear()}
{pt3dadd(-30.482,144.4,22.389,0.6)}
{pt3dadd(-34.495,150.757,21.9,0.3)}
{pt3dadd(-35.887,153.644,23.306,0.3)}

{access apical_dendrite[51]}
{pt3dclear()}
{pt3dadd(-35.887,153.644,23.306,0.3)}
{pt3dadd(-39.035,158.878,26.689,0.3)}
{pt3dadd(-43.36,161.612,28.706,0.3)}
{pt3dadd(-48.93,166.22,32.578,0.3)}
{pt3dadd(-54.844,169.788,37,0.3)}
{pt3dadd(-58.272,172.089,38.304,0.3)}
{pt3dadd(-64.051,176.332,38.629,0.3)}
{pt3dadd(-68.768,181.505,41.829,0.3)}
{pt3dadd(-72.667,186.158,46.373,0.3)}

{access apical_dendrite[52]}
{pt3dclear()}
{pt3dadd(-35.887,153.644,23.306,0.3)}
{pt3dadd(-39.398,161.611,20.718,0.3)}
{pt3dadd(-42.972,171.471,20.76,0.3)}
{pt3dadd(-47.408,182.85,19.497,0.3)}
{pt3dadd(-52.268,192.706,18.274,0.3)}
{pt3dadd(-51.538,206.876,15.504,0.3)}
{pt3dadd(-55.66,222.273,14.303,0.3)}
{pt3dadd(-61.559,230.699,10.187,0.3)}
{pt3dadd(-66.273,239.542,9.413,0.3)}
{pt3dadd(-68.679,247.441,9.658,0.3)}

{access apical_dendrite[53]}
{pt3dclear()}
{pt3dadd(-28.076,136.501,22.144,0.6)}
{pt3dadd(-25.83,143.996,24.978,0.3)}
{pt3dadd(-20.65,152.041,29.768,0.3)}
{pt3dadd(-17.035,157.148,31.216,0.3)}
{pt3dadd(-13.012,161.797,32.052,0.3)}
{pt3dadd(-7.201,168.061,32.054,0.3)}
{pt3dadd(-1.964,176.692,34.807,0.3)}
{pt3dadd(0.658,186.313,35.073,0.3)}
{pt3dadd(-3.944,193.055,36.764,0.3)}
{pt3dadd(-7.798,199.983,34.727,0.3)}
{pt3dadd(-10.104,207.471,32.893,0.3)}
{pt3dadd(-9.817,221.014,32.752,0.3)}
{pt3dadd(-0.563,226.957,32.02,0.3)}
{pt3dadd(1.629,230.99,33.732,0.3)}
{pt3dadd(2.474,240.184,30.269,0.3)}

{access apical_dendrite[54]}
{pt3dclear()}
{pt3dadd(-28.365,122.563,19.718,0.6)}
{pt3dadd(-30.803,133.045,18.006,0.3)}
{pt3dadd(-35.002,138.538,13.951,0.3)}
{pt3dadd(-39.928,143.346,13.605,0.3)}
{pt3dadd(-47.073,147.101,12.157,0.3)}
{pt3dadd(-48.751,149.535,12.076,0.3)}

{access apical_dendrite[55]}
{pt3dclear()}
{pt3dadd(-48.751,149.535,12.076,0.3)}
{pt3dadd(-55.277,156.866,9.589,0.3)}
{pt3dadd(-60.94,162.678,8.407,0.3)}
{pt3dadd(-63.471,171.092,8.184,0.3)}
{pt3dadd(-65.703,181.543,7.451,0.3)}

{access apical_dendrite[56]}
{pt3dclear()}
{pt3dadd(-48.751,149.535,12.076,0.3)}
{pt3dadd(-51.967,152.599,7.225,0.3)}
{pt3dadd(-57.131,159.625,1.377,0.3)}
{pt3dadd(-62.489,164.995,-0.906,0.3)}
{pt3dadd(-68.507,171.456,-6.082,0.3)}
{pt3dadd(-73.282,178.919,-9.954,0.3)}
{pt3dadd(-77.395,182.416,-14.091,0.3)}

{access apical_dendrite[57]}
{pt3dclear()}
{pt3dadd(-27.463,113.105,19.228,0.6)}
{pt3dadd(-28.478,121.389,23.793,0.3)}
{pt3dadd(-30.487,127.641,27.992,0.3)}
{pt3dadd(-35.328,133.329,30.722,0.3)}
{pt3dadd(-40.762,139.007,33.066,0.3)}
{pt3dadd(-46.681,141.783,32.352,0.3)}
{pt3dadd(-51.189,153.866,38.282,0.3)}
{pt3dadd(-53.44,165.213,40.138,0.3)}
{pt3dadd(-49.691,170.994,37.49,0.3)}

{access apical_dendrite[58]}
{pt3dclear()}
{pt3dadd(-26.324,97.761,15.945,0.6)}
{pt3dadd(-28.325,94.99,8.099,0.3)}
{pt3dadd(-26.213,85.45,-1.337,0.3)}
{pt3dadd(-26.1,76.807,-10.325,0.3)}
{pt3dadd(-26.454,67.639,-19.231,0.3)}
{pt3dadd(-24.903,62.051,-27.912,0.3)}
{pt3dadd(-25.8,52.667,-32.112,0.3)}
{pt3dadd(-28.577,46.144,-34.802,0.3)}
{pt3dadd(-30.672,34.759,-40.347,0.3)}
{pt3dadd(-35.152,30.774,-45.667,0.3)}

{access apical_dendrite[59]}
{pt3dclear()}
{pt3dadd(-21.636,75.932,15.801,0.6)}
{pt3dadd(-26.279,77.524,20.916,0.3)}

{access apical_dendrite[60]}
{pt3dclear()}
{pt3dadd(-26.279,77.524,20.916,0.3)}
{pt3dadd(-27.783,79.238,26.398,0.3)}

{access apical_dendrite[61]}
{pt3dclear()}
{pt3dadd(-27.783,79.238,26.398,0.3)}
{pt3dadd(-29.322,79.866,33.897,0.3)}
{pt3dadd(-32.92,80.407,41.314,0.3)}
{pt3dadd(-33.335,80.072,49.058,0.3)}
{pt3dadd(-34.647,80.17,57.515,0.3)}
{pt3dadd(-36.392,84.1,69.762,0.3)}
{pt3dadd(-34.574,86.404,76.61,0.3)}
{pt3dadd(-34.463,87.576,84.802,0.3)}
{pt3dadd(-36.236,84.669,92.749,0.3)}
{pt3dadd(-37.364,85.234,102.205,0.3)}
{pt3dadd(-39.781,85.4,107.829,0.3)}
{pt3dadd(-42.338,90.644,111.599,0.3)}

{access apical_dendrite[62]}
{pt3dclear()}
{pt3dadd(-27.783,79.238,26.398,0.3)}
{pt3dadd(-26.943,81.49,33.449,0.3)}
{pt3dadd(-26.658,88.487,46.39,0.3)}
{pt3dadd(-27.836,92.53,56.477,0.3)}
{pt3dadd(-29.347,96.724,62.55,0.3)}
{pt3dadd(-30.146,96.744,73.453,0.3)}
{pt3dadd(-29.636,102.814,84.784,0.3)}
{pt3dadd(-29.958,104.548,91.04,0.3)}
{pt3dadd(-29.277,106.229,99.64,0.3)}
{pt3dadd(-27.833,103.531,105.896,0.3)}
{pt3dadd(-25.353,98.594,119.02,0.3)}
{pt3dadd(-23.138,92.706,130.635,0.3)}

{access apical_dendrite[63]}
{pt3dclear()}
{pt3dadd(-26.279,77.524,20.916,0.3)}
{pt3dadd(-29.788,79.342,21.71,0.3)}
{pt3dadd(-32.733,84.149,23.504,0.3)}
{pt3dadd(-35.608,88.251,30.371,0.3)}
{pt3dadd(-40.69,92.884,34.141,0.3)}
{pt3dadd(-46.954,97.497,37.136,0.3)}
{pt3dadd(-53.313,100.041,41.619,0.3)}
{pt3dadd(-56.474,103.691,46.999,0.3)}
{pt3dadd(-59.447,111.477,49.404,0.3)}
{pt3dadd(-64.295,119.644,52.726,0.3)}
{pt3dadd(-68.004,122.285,57.677,0.3)}

{access apical_dendrite[64]}
{pt3dclear()}
{pt3dadd(-16.439,59.779,12.152,0.6)}
{pt3dadd(-15.668,63.133,16.697,0.3)}
{pt3dadd(-13.214,70.993,23.077,0.3)}

{access apical_dendrite[65]}
{pt3dclear()}
{pt3dadd(-13.214,70.993,23.077,0.3)}
{pt3dadd(-14.376,73.746,28.009,0.3)}
{pt3dadd(-15.389,75.881,35.956,0.3)}
{pt3dadd(-17.168,75.454,44.495,0.3)}
{pt3dadd(-17.839,72.083,52.707,0.3)}
{pt3dadd(-20.926,72.151,60.002,0.3)}
{pt3dadd(-25.662,71.674,66.604,0.3)}
{pt3dadd(-29.782,74.377,69.599,0.3)}
{pt3dadd(-33.631,75.552,73.511,0.3)}
{pt3dadd(-40.915,74.963,80.133,0.3)}

{access apical_dendrite[66]}
{pt3dclear()}
{pt3dadd(-13.214,70.993,23.077,0.3)}
{pt3dadd(-10.509,74.948,27.235,0.3)}
{pt3dadd(-6.421,78.1,28.01,0.3)}
{pt3dadd(-3.098,85.235,28.562,0.3)}
{pt3dadd(1.255,89.339,30.845,0.3)}
{pt3dadd(6.352,96.503,32.558,0.3)}
{pt3dadd(10.004,103.093,34.556,0.3)}
{pt3dadd(14.148,110.103,39.02,0.3)}
{pt3dadd(19.955,119.243,42.181,0.3)}
{pt3dadd(24.47,124.314,45.483,0.3)}
{pt3dadd(29.044,130.367,49.316,0.3)}
{pt3dadd(32.089,134.966,50.356,0.3)}
{pt3dadd(34.571,143.12,49.582,0.3)}
{pt3dadd(37.243,149.262,49.217,0.3)}
{pt3dadd(40.634,161.841,51.46,0.3)}
{pt3dadd(41.652,170.314,53.56,0.3)}
{pt3dadd(43.225,177.316,55.497,0.3)}
}
proc shape3d_13() {
{access apical_dendrite[67]}
{pt3dclear()}
{pt3dadd(-14.186,39.012,7.953,1)}
{pt3dadd(-18.473,39.956,4.794,0.3)}
{pt3dadd(-25.045,41.344,0.595,0.3)}
{pt3dadd(-28.363,44.423,-4.744,0.3)}
{pt3dadd(-34.256,50.369,-9.452,0.3)}
{pt3dadd(-37.456,55.413,-13.731,0.3)}

{access apical_dendrite[68]}
{pt3dclear()}
{pt3dadd(-37.456,55.413,-13.731,0.3)}
{pt3dadd(-39.585,62.577,-19.702,0.3)}
{pt3dadd(-43.852,69.171,-26.264,0.3)}
{pt3dadd(-48.155,74.68,-30.808,0.3)}
{pt3dadd(-54.285,79.967,-31.909,0.3)}
{pt3dadd(-60.926,85.728,-32.887,0.3)}
{pt3dadd(-62.94,97.733,-34.639,0.3)}
{pt3dadd(-65.305,104.238,-37.002,0.3)}
{pt3dadd(-67.746,107.78,-40.467,0.3)}

{access apical_dendrite[69]}
{pt3dclear()}
{pt3dadd(-37.456,55.413,-13.731,0.3)}
{pt3dadd(-38.3,56.037,-17.624,0.3)}
{pt3dadd(-43.041,58.041,-22.698,0.3)}
{pt3dadd(-49.489,58.914,-26.428,0.3)}
{pt3dadd(-57.708,60.154,-28.753,0.3)}
{pt3dadd(-64.051,61.407,-29.426,0.3)}

{access apical_dendrite[70]}
{pt3dclear()}
{pt3dadd(-5.244,24.971,5.629,1)}
{pt3dadd(-4.556,27.445,7.097,0.3)}

{access apical_dendrite[71]}
{pt3dclear()}
{pt3dadd(-4.556,27.445,7.097,0.3)}
{pt3dadd(1.307,30.627,9.034,0.3)}
{pt3dadd(5.539,35.641,13.416,0.3)}
{pt3dadd(10.937,38.694,18.003,0.3)}
{pt3dadd(17.214,42.21,24.464,0.3)}
{pt3dadd(23.206,45.669,32.005,0.3)}
{pt3dadd(31.379,48.304,37.529,0.3)}
{pt3dadd(37.161,51.002,38.956,0.3)}

{access apical_dendrite[72]}
{pt3dclear()}
{pt3dadd(37.161,51.002,38.956,0.3)}
{pt3dadd(35.526,49.166,45.375,0.3)}
{pt3dadd(44.153,50.74,52.815,0.3)}
{pt3dadd(49.55,43.975,64.757,0.3)}
{pt3dadd(57.13,40.055,70.708,0.3)}
{pt3dadd(62.875,41.272,71.585,0.3)}
{pt3dadd(68.962,43.528,71.912,0.3)}

{access apical_dendrite[73]}
{pt3dclear()}
{pt3dadd(37.161,51.002,38.956,0.3)}
{pt3dadd(38.799,56.507,40.832,0.3)}
{pt3dadd(44.597,61.186,42.83,0.3)}
{pt3dadd(50.759,66.405,44.258,0.3)}
{pt3dadd(58.898,71.228,45.258,0.3)}
{pt3dadd(67.373,73.024,47.114,0.3)}
{pt3dadd(73.463,75.676,50.009,0.3)}
{pt3dadd(78.348,78.806,52.15,0.3)}
{pt3dadd(83.106,82.056,51.254,0.3)}
{pt3dadd(88.113,84.276,51.296,0.3)}
{pt3dadd(93.882,85.39,54.72,0.3)}
{pt3dadd(97.024,85.908,57.655,0.3)}
{pt3dadd(100.947,90.968,60.57,0.3)}

{access apical_dendrite[74]}
{pt3dclear()}
{pt3dadd(-4.556,27.445,7.097,0.3)}
{pt3dadd(-4.549,34.782,11.418,0.3)}
{pt3dadd(2.68,38.452,15.128,0.3)}
{pt3dadd(10.205,47.035,21.488,0.3)}
{pt3dadd(12.064,57.761,30.639,0.3)}
{pt3dadd(14.921,68.039,39.566,0.3)}
{pt3dadd(19.134,80.494,45.723,0.3)}
{pt3dadd(23.237,88.898,52.795,0.3)}
{pt3dadd(25.968,99.295,58.686,0.3)}
{pt3dadd(30.721,102.148,67.491,0.3)}
{pt3dadd(32.798,104.611,70.711,0.3)}
{pt3dadd(36.375,111.508,77.335,0.3)}
{pt3dadd(41.129,117.634,79.598,0.3)}
{pt3dadd(45.672,126.27,81.475,0.3)}
{pt3dadd(49.336,131.171,88.017,0.3)}
{pt3dadd(53.716,135.568,95.416,0.3)}
{pt3dadd(58.426,139.418,104.261,0.3)}
}
proc basic_shape() {
  shape3d_1()
  shape3d_2()
  shape3d_3()
  shape3d_4()
  shape3d_5()
  shape3d_6()
  shape3d_7()
  shape3d_8()
  shape3d_9()
  shape3d_10()
  shape3d_11()
  shape3d_12()
  shape3d_13()

}

objref all

proc subsets() { local i
  objref all
  all = new SectionList()
    soma all.append()
    for i=0, 76 user5[i] all.append()
    for i=0, 74 apical_dendrite[i] all.append()
for i=0, 43 dendrite[i] all.append()



TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 //"3": counting start at 0

index = 0

forsec "dendrite" { //this will includes both dendrites and apical-dendrites
  dendTot[index] = new SectionRef()
   index += 1
}

}

proc geom() {
  forsec all {  }
 
}
proc geom_nseg() {
  soma area(.5) // make sure diam reflects 3d points
   forsec all { nseg = 3  }
//forsec all { nseg = 9  }
 
}

proc biophys() {

distance()

  forsec all {
//print secname()
Rm= 28000
gpas =1/Rm
Ra = 80 
    cm = 1
Vrest=-65

celsius = 35.0  

KMULT =  0.025
KMULTP = 0.025

mult1 = 1		
mult2 = 1	
gna=0.02  
gkdr = 0.01 
gkap= 0.025  

gkad=0.025 

ghd=0.00005 
nash=0


      insert hd
      ghdbar_hd = ghd      vhalfl_hd = -73
    
    insert kad
        gkabar_kad = 0

         
    insert kap
     
        gkabar_kap = 0

    insert kdr
      gkdrbar_kdr = gkdr 
    insert na3
      gbar_na3 = gna
      ar2_na3 = 1

      sh_na3=nash
    insert pas
      g_pas = gpas
      e_pas = Vrest
insert extracellular								
			insert xtra
mult1=1

for (x){ xdist = distance(x)

gkabar_kap(x)=gkap

//apical linear increase
		if ( xdist > 0 && xdist <=100){

       ghdbar_hd(x) = ghd*(1+3*xdist/100)


      gkabar_kap(x) = gkap*(1+xdist/100)

                      }
		 if (xdist > 100){

                   vhalfl_hd=-81
              

                  ghdbar_hd(x) = ghd*(1+3*xdist/100)

               
                   gkabar_kad(x) = gkad*(1+xdist/100)

                  
                   gkabar_kap(x)=0 
	      	
 		} //end of xdist>100
        }//end for(x)
  } //end for all sec


access soma
ghdbar_hd(x) = ghd
vhalfl_hd=-73
gkabar_kap(x)=gkap


forsec all {
        v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}


forsec all {
	for (x) {
	
	if (!ismembrane("hd")){e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)}
	if (ismembrane("hd")) {e_pas(x)=Vrest+(ina(x)+ik(x)+ih_hd(x))/g_pas(x)}


		}
	}

} //end for biophys

proc position() { local i
  soma for i = 0, n3d()-1 {
//distance(0,x)
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_


//J. Berzhanskaya edit 2005-2007
//next 4 proc maxn3d (for setting extracellular comp), setrx, setrxRec
// C Mcintyre , 2001
proc setpointers() {
  grindaway()  // in interpxyz.hoc, determines interpolated locations of nodes
/*
  forall for (x) if (x!=0 && x!=1) setpointer im_xtra(x), i_membrane(x)
  forall for (x) if (x!=0 && x!=1) setpointer ex_xtra(x), e_extracellular(x)
*/
  forall {
    if (ismembrane("xtra")) {
	for (x) if (x!=0 && x!=1) {
		setpointer im_xtra(x), i_membrane(x)
		setpointer ex_xtra(x), e_extracellular(x)
	}
    }
  }
}

/* Computes xyz coords of nodes in a model cell 
   whose topology & geometry are defined by pt3d data.
   Expects sections to already exist, and that the xtra mechanism has been inserted
 */


// original data, irregularly spaced
objref xx, yy, zz, length
// interpolated data, spaced at regular intervals
objref xint, yint, zint, range

proc grindaway() { local ii, nn, kk, xr
	forall {
	  if (ismembrane("xtra")) {
		// get the data for the section
		nn = n3d()
		xx = new Vector(nn)
		yy = new Vector(nn)
		zz = new Vector(nn)
		length = new Vector(nn)

		for ii = 0,nn-1 {
			xx.x[ii] = x3d(ii)
			yy.x[ii] = y3d(ii)
			zz.x[ii] = z3d(ii)
			length.x[ii] = arc3d(ii)
		}

		// to use Vector class's .interpolate() 
		// must first scale the independent variable
		// i.e. normalize length along centroid
		length.div(length.x[nn-1])

		// initialize the destination "independent" vector
		range = new Vector(nseg+2)
		range.indgen(1/nseg)
		range.sub(1/(2*nseg))
		range.x[0]=0
		range.x[nseg+1]=1

		// length contains the normalized distances of the pt3d points 
		// along the centroid of the section.  These are spaced at 
		// irregular intervals.
		// range contains the normalized distances of the nodes along the 
		// centroid of the section.  These are spaced at regular intervals.
		// Ready to interpolate.

		xint = new Vector(nseg+2)
		yint = new Vector(nseg+2)
		zint = new Vector(nseg+2)
		xint.interpolate(range, length, xx)
		yint.interpolate(range, length, yy)
		zint.interpolate(range, length, zz)

		// for each node, assign the xyz values to x_xtra, y_xtra, z_xtra
		//for ii = 0, nseg+1 {

// also avoid writing coords of the 1 end into the last internal node's coords
		for ii = 1, nseg { 
			xr = range.x[ii]
			x_xtra(xr) = xint.x[ii]
			y_xtra(xr) = yint.x[ii]
			z_xtra(xr) = zint.x[ii]
		}
	  }
	}
}



proc maxn3d() {
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
// Finds number of subsegments for each segment and stores into vobj
// For each segment, endpoints and intermediates from xtra are stored into x and y coordinate matrices
// Total of nseg +2 points for each segment (ends + at least one midpoint  
	numelements =197
	vobj = new Vector(numelements)
	num = 0

for i=0,USER5MAX {

		vobj.x[i] = user5[i].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}

for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {

k=i-USER5MAX-1


	
		vobj.x[i] = apical_dendrite[k].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}

for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {

k=i-USER5MAX-APIDENDMAX-2

		vobj.x[i] = dendrite[k].nseg
		if( vobj.x[i] > num) {num = vobj.x[i] }
	}
		vobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3] = soma.nseg	
	
	xobj = new Matrix(numelements,num+1)
	yobj = new Matrix(numelements,num+1)
	zobj = new Matrix(numelements,num+1)
	mobj = new Matrix(numelements,num+1)

	setpointers()

for ii=0,USER5MAX {
	
		access user5[ii]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


 
for ii=USER5MAX+1,USER5MAX+APIDENDMAX+1  {
        
             kk=ii-USER5MAX-1
		access apical_dendrite[kk]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


for ii=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {

kk=ii-USER5MAX-APIDENDMAX-2
access  dendrite[kk]
		
		if (nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
	
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
		}
	}


	
	soma{
ii=USER5MAX+APIDENDMAX+BASDENDMAX+3
		if (soma.nseg ==1){
			xobj.x[ii][0] = (x3d(0.5))
			yobj.x[ii][0] = (y3d(0.5))
			zobj.x[ii][0] = (z3d(0.5))
		} else{		

			for jj=1,(vobj.x[ii]-1) {
				xv = x_xtra(0+(jj/((vobj.x[ii]))))
				yv = y_xtra(0+(jj/((vobj.x[ii]))))
				zv = z_xtra(0+(jj/((vobj.x[ii]))))
				xobj.x[ii][jj] = (xv)
				yobj.x[ii][jj] = (yv)
				zobj.x[ii][jj] = (zv)
			}
		
			jj =0
			xobj.x[ii][jj] = (x3d(0))
			yobj.x[ii][jj] = (y3d(0))
			zobj.x[ii][jj] = (z3d(0))
			jj =vobj.x[ii]
			xobj.x[ii][jj] = (x3d(n3d()-1))
			yobj.x[ii][jj] = (y3d(n3d()-1))
			zobj.x[ii][jj] = (z3d(n3d()-1))
			}
		}
}
//End maxn3d


///setrx sets coeff to multiply is,and essentially do mobj

proc setrx() {  // now expects xyc coords as arguments
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
  for i=0,USER5MAX {
               user5[i]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

user5[i].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002



		               } 
                            }
         } //end user5
}
for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {
k=i-USER5MAX-1
apical_dendrite[k]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

apical_dendrite[k].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002



		               } 
                            }
         } //end apical_dendrite
}
for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {
k=i-USER5MAX-APIDENDMAX-2
dendrite[k]{
    if (ismembrane("xtra")) {
             for j=1,vobj.x[i]{

dendrite[k].coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002


		               } 
                            }
         } //end apical_dendrite

 }

soma {
   if (ismembrane("xtra")) {
i=USER5MAX+APIDENDMAX+BASDENDMAX+3
         for j=1,vobj.x[i]{
soma.coeff_xtra((0+(2*j-1)/((2*nseg))))=mobj.x[i][j]*0.00002

                                } 

                              }
     }//end soma


}
///end setrx()


//sterxRec
// electrode coordinates:
// for this test, default location is 50 microns horizontal from the cell's 0,0,0
XE = 50  // um
YE = 0
ZE = 0

proc setrxRec() {  // now does not expects xyc coords as arguments

rd=0
//dupl
rho = 35.4
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
 
  for i=0,USER5MAX {

  user5[i]{
    if (ismembrane("xtra")) {
      for (x) if ((x>0) && (x<1)) {
 
rd = sqrt((user5[i].x_xtra(x) - XE)^2 + (user5[i].y_xtra(x) - YE)^2 +(user5[i].z_xtra(x) - ZE)^2)

user5[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end user5[i]
       } ///end i

for i=0,APIDENDMAX {
apical_dendrite[i]{

    if (ismembrane("xtra")) {
      for (x) if ((x>0) && (x<1)) {
        rd = sqrt((apical_dendrite[i].x_xtra(x) - XE)^2 + (apical_dendrite[i].y_xtra(x) - YE)^2 +(apical_dendrite[i].z_xtra(x) - ZE)^2)

apical_dendrite[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end of apical dendrite
       } ///end i

for i=0,BASDENDMAX {
dendrite{
    if (ismembrane("xtra")) {
    //print "basal ", i
      for (x) if ((x>0) && (x<1)) {
        rd = sqrt((dendrite[i].x_xtra(x) - XE)^2 + (dendrite[i].y_xtra(x) - YE)^2 +(dendrite[i].z_xtra(x) - ZE)^2)

dendrite[i].recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01


		                    } 
  
                             }
                             }//end of dendrite
                             
       } ///end i


      soma {
        if (ismembrane("xtra")) {
 
            for (x) if ((x>0) && (x<1)) {
        rd = sqrt((soma.x_xtra(x) - XE)^2 + (soma.y_xtra(x) - YE)^2+(soma.z_xtra(x) - ZE)^2)

soma.recx_xtra(x)=(rho / 4 / PI)*(1/rd)*0.01




		                         } 
 
// print "rho", rho

                                     }
                  }// end soma


 }

//end setRxrec

proc setRecMat() {  // now expects xyc coords as arguments
//sets rxobj for each end and CENTER of each segment
rd=0
Nel=10
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 

xcEl = new Vector(Nel)
ycEl = new Vector(Nel)
zcEl = new Vector(Nel)


XE = 50  
YE = 0
ZE = 0
for n=0,Nel-1 {
xcEl.x[n]=XE
zcEl.x[n]=ZE
// note that 4 below has to be Nel/2 and has to be changed manually
ycEl.x[n]=YE+100*(n-Nel/2)

               }
rxobj = new Matrix(numelements,Nel)

//print "rxobj[1][1]", rxobj.x[1][1]

for n=0,Nel-1 {
 // print "nel", n

  for i=0,USER5MAX {
  user5[i]{

    if (ismembrane("xtra")) {

   rd = sqrt((user5[i].x_xtra(0.5) - xcEl.x[n])^2 + (user5[i].y_xtra(0.5)- ycEl.x[n])^2 +(user5[i].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01



                               }
                               }//end of user5i
                      } //end i
for i=USER5MAX+1,USER5MAX+APIDENDMAX+1 {
k=i-USER5MAX-1
apical_dendrite[k]{

    if (ismembrane("xtra")) {
rd=1
   rd = sqrt((apical_dendrite[k].x_xtra(0.5) - xcEl.x[n])^2 +(apical_dendrite[k].y_xtra(0.5)- ycEl.x[n])^2 +(apical_dendrite[k].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01


                               }
                               }//end of apical[k] 
                      } //end i

for i=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+2 {
k=i-USER5MAX-APIDENDMAX-2
dendrite[k]{

    if (ismembrane("xtra")) {

     rd = sqrt((dendrite[k].x_xtra(0.5) - xcEl.x[n])^2 + (dendrite[k].y_xtra(0.5)- ycEl.x[n])^2 +(dendrite[k].z_xtra(0.5) - zcEl.x[n])^2)

rxobj.x[i][n]=(rho / 4 / PI)*(1/rd)*0.01


                               }
                               }//end dendrite k
                      } //end i


      soma {
        if (ismembrane("xtra")) {

rd = sqrt((soma.x_xtra(0.5) - xcEl.x[n])^2 + (soma.y_xtra(0.5) - ycEl.x[n])^2 +(soma.z_xtra(0.5) - zcEl.x[n])^2)
    
rxobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3][n]=(rho / 4 / PI)*(1/rd)*0.01




                                      }
              }
  }//end of Nel

}
//end of setRecMat


///original electrode (next to the soma)
func fieldrec1(){local sum
	sum = 0
	
forsec all {
	  if (ismembrane("xtra")) {
// avoid nodes at 0 and 1 ends, which shouldn't make any contribution
		for (x) if ((x>0) && (x<1)) sum += er_xtra(x)
	  }
	}
	return sum
}



func fieldrec() {local i, sum
//requires 1 argument
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43
TOTALDEND = USER5MAX + APIDENDMAX + BASDENDMAX + 3 
ElN=$1
	sum = 0
	for n=0,USER5MAX-1 {


   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*user5[n].er_xtra(0.5)/user5[n].recx_xtra(0.5)

	                   }
	                  }//end n
for n=USER5MAX+1,USER5MAX+APIDENDMAX {
k=n-USER5MAX-1


   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*apical_dendrite[k].er_xtra(0.5)/apical_dendrite[k].recx_xtra(0.5)

	                   }
	                  }//end n
for n=USER5MAX+APIDENDMAX+2,USER5MAX+APIDENDMAX+BASDENDMAX+1 {
k=n-USER5MAX-APIDENDMAX-2

   if (ismembrane("xtra")) {
    sum += rxobj.x[n][ElN]*dendrite[k].er_xtra(0.5)/dendrite[k].recx_xtra(0.5)

	                   }
	                  }//end n

soma{
	  if (ismembrane("xtra")) {
    sum += rxobj.x[USER5MAX+APIDENDMAX+BASDENDMAX+3][ElN]*soma.er_xtra(0.5)/soma.recx_xtra(0.5)

                                   }
     }//end soma
	return sum
}
proc pasinit(){
// Inserts passive properties from Migliore model and paper.

	forsec all {
		for (x) 	{if (ismembrane("na3")||ismembrane("nax")){e_pas(x)=v(x)+(ina(x)+ik(x))/g_pas(x)
	                 if (ismembrane("hd")) {e_pas(x)=e_pas(x)+ih_hd(x)/g_pas(x)}


				} else {
					if (ismembrane("pas")){
						e_pas(x)=v(x)
					}
				}
		}

	}

}
// End pasinit

func fieldextstimulus(){												
efield=$1
// Calculates the external field for all of the points created in maxn3d() above and stores in mobj.
// Linear Field

	mobj = new Matrix(numelements,num+1)

	for i=0,TOTALDEND{
	
		for j=0,vobj.x[i]{
		
		
		x = xobj.x[i][j]*.001		//mm
		y = yobj.x[i][j]*.001		//mm
		thetad = theta*(PI/180)
		mobj.x[i][j] = (efield)*((cos(thetad)*y)+(sin(thetad)*x))		//Linear field
	    
		// print "efield", efield
		// print "dend", i
		// print "seg", j
	    // print "mobj", mobj.x[i][j] 
		}	
	}
 
setrx()
setrxRec()

// do no del
setRecMat()

return efield
}
// End fieldextstimulus

proc noextstimulus(){

	mobj = new Matrix(numelements,num+1)
		mrow = mobj.nrow
		mcol = mobj.ncol
		for i=0,mrow-1{
			for j=0,mcol-1{
				mobj.x[i][j] = 0
			}
		}


setrx()
setrxRec()
setRecMat()

}
// End noextstimulus
endtemplate Cell_Cell




begintemplate BasketCell
public synlist, x, y, z, position, connect2target

objref synlist

public soma
public all
create soma
objref Esyn, Isyn

nst=4
	objectvar intstim2[nst]
double stimdur[nst], stimdel[nst], stimamp[nst]
public intstim2, stimdur, stimamp, stimdel


objref Esyn, Isyn
proc init() {

	temp()
synlist = new List()
x = y = z = 0 // only change via position

	synapses()
}

objref all

proc temp() {

	 soma {nseg=3 L=20 diam=20} // changed L & diam
// soma {nseg=9 L=20 diam=20} // changed L & diam
		
	    


///start julia channels
Vrest = -65

//Membrane Resistance

Rm = 28000
RmDend = Rm/2
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2

														
//Axial Resistance

RaAll= 150
RaSoma=150  

//Parameters


Vrest = -65
gna =  0.02 
gkdr = 0.005
KMULT =  0.025 
KMULTP = 0.025
//basket cell
ghd=0.00005 

mult1 = 1		
mult2 = 1	

soma {   insert pas 
			e_pas=Vrest
			g_pas = 1/RmSoma
			Ra = RaSoma
			cm = CmSoma
			
            

			insert na3  gbar_na3=gna  ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
			ar2_na3=0.8
            
                
}	
soma {
         v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
 
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}


soma {
	for (x) {
e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)
	



		}

	}

//end i



}
// end temp

proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_
proc synapses() {
  /* Exc0 */   soma syn_ = new Exp2Syn(0.8)  synlist.append(syn_)
// AMPA timing on basket cells 
syn_.tau1 = 0.05
   syn_.tau2 = 5
   syn_.e = 0

  /* Inh1 */   soma syn_ = new Exp2Syn(0.2)  synlist.append(syn_)
    syn_.tau1 = 1
    syn_.tau2 = 20
    syn_.e = -75
}
func is_art() { return 0 }


	endtemplate BasketCell


begintemplate OLMCell
// Note that OLM cell designates o-cell in general 
//and can correspond O-bi when connected proximally and OLM- when distally

public soma
create soma
public synlist, x, y, z, position, connect2target

objref synlist
public all
objref Esyn, Isyn
nst=4
	objectvar intstim3[nst]
objectvar intstim4[nst]
double stimdur[nst], stimdel[nst], stimamp[nst]
public intstim3, intstim4, stimdur, stimamp, stimdel


objref Esyn, Isyn
proc init() {

synlist = new List()
	temp()
x = y = z = 0 // only change via position

	synapses()
}

objref all

proc temp() {

	 soma {nseg=3 L=30 diam=30} // changed L & diam

// soma {nseg=9 L=30 diam=30} // changed L & diam
		
	
    

///start julia channels
Vrest = -65
//Membrane Resistance

Rm = 28000
RmDend = Rm/2
RmSoma = Rm

//Membrane Capacitance

Cm    = 1
CmSoma= Cm
CmDend = Cm*2

														
//Axial Resistance

RaAll= 150
RaSoma=150  

//Parameters

Vrest = -65
gna =  0.02 
gkdr = 0.01 
KMULT =  0.025
KMULTP = 0.025 
//OLM cell
ghd=0.00005 

mult1 = 1		
mult2 = 1	
soma {   insert pas 
			e_pas=Vrest
			g_pas = 1/RmSoma
			Ra = RaSoma
			cm = CmSoma
			//insert extracellular								
			//insert xtra

               insert hd ghdbar_hd=ghd	vhalfl_hd=-73

			insert na3  gbar_na3=gna  ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
			ar2_na3=0.8
                insert kap gkabar_kap = KMULTP ek=-90

	}

	soma {
        v=Vrest
        if (ismembrane("nax") || ismembrane("na3")) {ena=55}
 
	
        if (ismembrane("kdr") || ismembrane("kap") || ismembrane("kad")) {ek=-90}
        if (ismembrane("hd") ) {ehd_hd=-30}
	}



soma {
	for (x) {
	
	if (!ismembrane("hd")){e_pas(x)=Vrest+(ina(x)+ik(x))/g_pas(x)}
	if (ismembrane("hd")) {e_pas(x)=Vrest+(ina(x)+ik(x)+ih_hd(x))/g_pas(x)}


		}
	}

for i=0,0 {
stimdel[i]=50
stimdur[i]=500
stimamp[i]=0.02

/* 0.4 stim when we want the cell to fire with regular spikes */

}

}// end temp

proc position() { local i
  soma for i = 0, n3d()-1 {
    pt3dchange(i, $1-x+x3d(i), $2-y+y3d(i), $3-z+z3d(i), diam3d(i))
  }
  x = $1  y = $2  z = $3
}
proc connect2target() { //$o1 target point process, $o2 returned NetCon
  soma $o2 = new NetCon(&v(1), $o1)
}
objref syn_
proc synapses() {
  /* Exc0 */   soma syn_ = new Exp2Syn(0.8)  synlist.append(syn_)
  /* Inh1 */   soma syn_ = new Exp2Syn(0.2)  synlist.append(syn_)
    syn_.tau1 = 0.5
    syn_.tau2 = 10
    syn_.e = -90
}
func is_art() { return 0 }

//end temp
	
	endtemplate OLMCell

begintemplate NetStim_NetStim
public pp, connect2target, x, y, z, position, is_art
external acell_home_
objref pp
proc init() {
  acell_home_ pp = new NetStim(.5)
    pp.number = 50000
    pp.interval = 50
    pp.start = 30
    pp.noise=1

}
func is_art() { return 1 }
proc connect2target() { $o2 = new NetCon(pp, $o1) }
proc position(){x=$1  y=$2  z=$3}
endtemplate NetStim_NetStim


// 20 pyramidal cells
ncells=20
objref syn_
objref syn2_

objref wts1[ncells+32]

//for i=0,ncells-1{
//Note: wts1 has to have more dimensions than N of pyramidal cells,

for i=0,51{
wts1[i] = new Vector(totSyn,10)
}

// objref wts2
// wts2 = new Vector(totSyn,10)
objref cells



func InsertSyn1(){

access cells.object($1).soma
distance()
 

TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43

BEGINSECTION= 1
ENDSECTION1= BASDENDMAX
ENDSECTION2= APIDENDMAX
ENDSECTION3 = USER5MAX



//compartment count
objref rc
objref rc1
objref rc2
objref rc3
objref rc4
//rc1 = new Random() //basal
rc2 = new Random() //apical
rc3 = new Random() //trunk
//rc4 = new Random() //trunk

//rc = new Random() 
//rc.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc.uniform(BEGINSECTION, ENDSECTION)  // no basal dend for choice 1,2, 

//rc1.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc1.uniform(BEGINSECTION, ENDSECTION1)  // no basal dend for choice 1,2, //rc2.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
rc2.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, //rc3.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc3.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, 
//rc3.uniform(BEGINSECTION, ENDSECTION1)
//rc4.MCellRan4(highindex+250) //High Index is 1001, set in ModelTypeI
//rc4.uniform(BEGINSECTION, ENDSECTION3)  // no basal dend for choice 1,2, 



TWO_THIRD_APIDIST=350

for (i=0; i <= totSyn-1; i +=1) {
    count = 1
    /*---------generate a syn at random section and random segment--*/
	flag=0
	while (flag==0) {//pick compartments until get right distance

	//	comp=int(rc3.repick()+0.5)
comp=int(rc2.repick()+0.5)
		////comp=49
	        //Cell_Cell[0].user5[comp] { 
//cells.object($1).apical_dendrite[comp] {
            cells.object($1).user5[comp] {
//cells.object($1).dendrite[comp] {
		    count = 0
		   
                   tmp = 0.5
                   dist = distance(tmp)
			
if ((distance(tmp) < 350) && (distance(tmp) > 150) ) {flag=1} else {flag=0} 


		}// end user5
	}//end while flag
   


cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5) cells.object($1).synlist.append(syn_)


     
A = 0.00611126
B = 82.5413

//netw50
//wt=15*(A*dist*dist+B)/1e+06 
// netw44
wt=0.8*(A*dist*dist+B)/1e+06 

wts1[$1].set(i,wt)





count=count+1

}//end i

wts1[$1].printf

/// next few line Basket synapse on the soma

    /*---------generate a syn at random section and random segment--*/

	flag=0
	while (flag==0) {//pick compartments until get right distance

comp=0
 cells.object($1).user5[comp] {  
	        
		    count = 0
		   
                   tmp = 0.5
                  dist = distance(tmp)
			
if ((distance(tmp) <200) ) {flag=1} else {flag=0} //print comp

		}// end user5
	}//end while flag
   // print "inh comp", comp
      cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5)  cells.object($1).synlist.append(syn_)
       
    syn_.tau1 = 0.5
    syn_.tau2 = 5
    syn_.e = -90

   
 

wt=0.04



count=count+1

///next few lines for OLM - (o-bi) synapse



for (i=0; i <= 26; i +=1) {

    count = 1
    /*---------generate a syn at random section and random segment--*/
	flag=0
	while (flag==0) {//pick compartments until get right distance

		// comp=int(rc3.repick()+0.5)
               // cells.object($1).user5[comp] {  
	        
comp=int(rc2.repick()+0.5)
cells.object($1).user5[comp] {  
	        
  //              cells.object($1).apical_dendrite[comp] {  
	        
		    count = 0
		   
                   tmp = 0.5
                  dist = distance(tmp)
// distant synapse	
//if ((distance(tmp) < 500) && (distance(tmp) > 300) ) {flag=1} else {flag=0} 
// proximal synapse
if ((distance(tmp) < 350) && (distance(tmp) > 150) ) {flag=1} else {flag=0} 
//print comp
//if ((distance(tmp) < 200) ) {flag=1} else {flag=0} //print comp


		}// end user5
	}//end while flag
   // print "inh comp", comp
      cells.object($1).user5[comp] syn_ = new Exp2Syn(0.5)  cells.object($1).synlist.append(syn_)
       
    syn_.tau1 = 1
    syn_.tau2 = 20
    syn_.e = -90


wt=0.04


count=count+1

}//end i

return count
}

// end InsertSyn1






//connectivity objects

objref cells, nclist, netcon
{cells = new List()  nclist = new List()}

func cell_append() {cells.append($o1)  $o1.position($2,$3,$4)
	return cells.count - 1
}

func nc_append() {//srcindex, tarcelindex, synindex
  if ($3 >= 0) {
    cells.object($1).connect2target(cells.object($2).synlist.object($3),netcon)
    netcon.weight = $4   netcon.delay = $5
  }else{
    cells.object($1).connect2target(cells.object($2).pp,netcon)
    netcon.weight = $4   netcon.delay = $5
  }
  nclist.append(netcon)
  return nclist.count - 1
}
//model_globals()


//Network instantiation

/* Cell0 Cell_Cell[0] */  cell_append(new Cell_Cell(),	-30,	 0, 0)
/* Cell1 Cell_Cell[1]*/  cell_append(new Cell_Cell(),	20,	 0, 0)
/* Cell2 Cell_Cell[2]*/  cell_append(new Cell_Cell(),	70,	 0, 0)
/* Cell3 Cell_Cell[3]*/  cell_append(new Cell_Cell(),	120,	 0, 0)

/* Cell4 BasketCell[0] bask */  cell_append(new BasketCell(),	-35,	 53, 0)
/* Cell5 BasketCell[1] bask */  cell_append(new BasketCell(),	15,	 53, 0)
/* Cell6 BasketCell[2] bask */  cell_append(new BasketCell(),	45,	 53, 0)
/* Cell7 BasketCell[3] bask */  cell_append(new BasketCell(),	75,	 53, 0)

/* Cell8 OLMCell[0]*/  cell_append(new OLMCell(),	-40,	 -53, 0)
/* Cell9 OLMCell[1]*/  cell_append(new OLMCell(),	10,	 -53, 0)
/* Cell10 OLMCell[2]*/  cell_append(new OLMCell(),	40,	 -53, 0)
/* Cell11 OLMCell[3]*/  cell_append(new OLMCell(),	70,	 -53, 0)


/* Cell12 Cell_Cell[4]*/  cell_append(new Cell_Cell(),	-30,	 0, 50)
/* Cell13 Cell_Cell[5]*/  cell_append(new Cell_Cell(),	20,	 0, 50)
/* Cell14 Cell_Cell[6]*/  cell_append(new Cell_Cell(),	70,	 0, 50)
/* Cell15 Cell_Cell[7]*/  cell_append(new Cell_Cell(),	120,	 0, 50)

/* Cell16 BasketCell[4] bask */  cell_append(new BasketCell(),	-35,	 53, 50)
/* Cell17 BasketCell[5] bask */  cell_append(new BasketCell(),	15,	 53, 50)
/* Cell18 BasketCell[6] bask */  cell_append(new BasketCell(),	45,	 53, 50)
/* Cell19 BasketCell[7] bask */  cell_append(new BasketCell(),	75,	 53, 50)

/* Cell20 OLMCell[4] */  cell_append(new OLMCell(),	-40,	 -53, 50)
/* Cell21 OLMCell[5] */  cell_append(new OLMCell(),	10,	 -53, 50)
/* Cell22 OLMCell[6] */  cell_append(new OLMCell(),	40,	 -53, 50)
/* Cell23 OLMCell[7] */  cell_append(new OLMCell(),	70,	 -53, 50)


/* Cell24 Cell_Cell[8] */  cell_append(new Cell_Cell(),	-30,	 0, -50)
/* Cell25 Cell_Cell[9] */  cell_append(new Cell_Cell(),	20,	 0, -50)
/* Cell26 Cell_Cell[10] */  cell_append(new Cell_Cell(),	70,	 0, -50)
/* Cell27 Cell_Cell[11] */  cell_append(new Cell_Cell(),	120,	 0, -50)

/* Cell28 BasketCell[8] bask */  cell_append(new BasketCell(),	-35,	 53, -50)
/* Cell29 BasketCell[9] bask */  cell_append(new BasketCell(),	15,	 53, -50)
/* Cell30 BasketCell[10] bask */  cell_append(new BasketCell(),	45,	 53, -50)
/* Cell31 BasketCell[11] bask */  cell_append(new BasketCell(),	75,	 53, -50)

/* Cell32 OLMCell[8] */  cell_append(new OLMCell(),	-40,	 -53,-50)
/* Cell33 OLMCell[9] */  cell_append(new OLMCell(),	10,	 -53, -50)
/* Cell34 OLMCell[10] */  cell_append(new OLMCell(),	40,	 -53, -50)
/* Cell35 OLMCell[11] */  cell_append(new OLMCell(),	70,	 -53, -50)

/* Cell36 Cell_Cell[12] */  cell_append(new Cell_Cell(),	-30,	 0, 100)
/* Cell37 Cell_Cell[13] */  cell_append(new Cell_Cell(),	20,	 0, 100)
/* Cell38 Cell_Cell[14] */  cell_append(new Cell_Cell(),	70,	 0, 100)
/* Cell39 Cell_Cell[15] */  cell_append(new Cell_Cell(),	120,	 0, 100)

/* Cell40 BasketCell[12] bask */  cell_append(new BasketCell(),	-35,	 53, 100)
/* Cell41 BasketCell[13] bask */  cell_append(new BasketCell(),	15,	 53, 100)
/* Cell42 BasketCell[14] bask */  cell_append(new BasketCell(),	45,	 53, 100)
/* Cell43 BasketCell[15] bask */  cell_append(new BasketCell(),	75,	 53, 100)

/* Cell44 OLMCell[12] */  cell_append(new OLMCell(),	-40,	 -53, 100)
/* Cell45 OLMCell[13] */  cell_append(new OLMCell(),	10,	 -53, 100)
/* Cell46 OLMCell[14] */  cell_append(new OLMCell(),	40,	 -53, 100)
/* Cell47 OLMCell[15] */  cell_append(new OLMCell(),	70,	 -53, 100)



/* Cell48 Cell_Cell[16] */  cell_append(new Cell_Cell(),	-30,	 0, -100)
/* Cell49 Cell_Cell[17] */  cell_append(new Cell_Cell(),	20,	 0, -100)
/* Cell50 Cell_Cell[18] */  cell_append(new Cell_Cell(),	70,	 0, -100)
/* Cell51 Cell_Cell[19] */  cell_append(new Cell_Cell(),	120,	 0, -100)

/* Cell52 BasketCell[16] bask */  cell_append(new BasketCell(),	-35,	 53, -100)
/* Cell53 BasketCell[17] bask */  cell_append(new BasketCell(),	15,	 53, -100)
/* Cell54 BasketCell[18] bask */  cell_append(new BasketCell(),	45,	 53, -100)
/* Cell55 BasketCell[19] bask */  cell_append(new BasketCell(),	75,	 53, -100)

/* Cell56 OLMCell[16] */  cell_append(new OLMCell(),	-40,	 -53, -100)
/* Cell57 OLMCell[17] */  cell_append(new OLMCell(),	10,	 -53, -100)
/* Cell58 OLMCell[18] */  cell_append(new OLMCell(),	40,	 -53, -100)
/* Cell59 OLMCell[19] */  cell_append(new OLMCell(),	70,	 -53, -100)



/* NetStim10 */  cell_append(new NetStim_NetStim(),	-390,	 165, 0)

//current clamp in 1st cell

objectvar intstim
access Cell_Cell[0].soma
Cell_Cell[0].soma intstim = new IClamp()
//access electrode
access Cell_Cell[0].soma
exIClmp1 = new IClamp()
access Cell_Cell[0].soma
intstim.loc(0.5)
	intstim.del=10
	intstim.dur=2000
	intstim.amp=0.24


objectvar intstim10
Cell_Cell[4].soma intstim10 = new IClamp()
access Cell_Cell[4].soma
intstim10.loc(0.5)
	intstim10.del=intdel
	intstim10.dur=intpw
	intstim10.amp=Istim0


objectvar intstim11
Cell_Cell[12].soma intstim11 = new IClamp()
access Cell_Cell[12].soma
intstim11.loc(0.5)
	intstim11.del=intdel
	intstim11.dur=intpw
	intstim11.amp=Istim0

objectvar intstim10a
Cell_Cell[8].soma intstim10a = new IClamp()
access Cell_Cell[8].soma
intstim10a.loc(0.5)
	intstim10a.del=intdel
	intstim10a.dur=intpw
	intstim10a.amp=Istim0

objectvar intstim11a
Cell_Cell[16].soma intstim11a = new IClamp()
access Cell_Cell[8].soma
intstim11a.loc(0.5)
	intstim11a.del=intdel
	intstim11a.dur=intpw
	intstim11a.amp=Istim0



objectvar intstim2

access BasketCell[1].soma
BasketCell[1].soma intstim2 = new IClamp()
access BasketCell[1].soma
intstim2.loc(0.5)
	intstim2.del=30
	intstim2.dur=500
	
intstim2.amp=0

objectvar intstim3

access OLMCell[3].soma
OLMCell[3].soma intstim3 = new IClamp()
access OLMCell[3].soma
intstim3.loc(0.5)
	intstim3.del=50
	intstim3.dur=300
	intstim3.amp=-0.06




objectvar intstim4

access OLMCell[1].soma
OLMCell[1].soma intstim4 = new IClamp()
access OLMCell[1].soma
intstim4.loc(0.5)
	
intstim4.del=10
	intstim4.dur=1800
	
intstim4.amp= OStim1 


objectvar intstim5
access OLMCell[5].soma
OLMCell[5].soma intstim5 = new IClamp()
access OLMCell[5].soma
intstim5.loc(0.5)
	intstim5.del=10
	intstim5.dur=1800
	//intstim3.amp=-0.01
intstim5.amp= OStim1 //0.013


objectvar intstim6
access OLMCell[9].soma
OLMCell[9].soma intstim6 = new IClamp()
access OLMCell[9].soma
intstim6.loc(0.5)
	intstim6.del=10
	intstim6.dur=1800
intstim6.amp=OStim1 

objectvar intstim7
access OLMCell[13].soma
OLMCell[13].soma intstim7 = new IClamp()
access OLMCell[13].soma
intstim7.loc(0.5)
	intstim7.del=10
	intstim7.dur=1800
	//intstim3.amp=-0.01
intstim7.amp=OStim1 


objectvar intstim8
access OLMCell[17].soma
OLMCell[17].soma intstim8 = new IClamp()
access OLMCell[17].soma
intstim8.loc(0.5)
	intstim8.del=10
	intstim8.dur=1800
intstim8.amp=OStim1 


objectvar intstim30
access OLMCell[0].soma
OLMCell[0].soma intstim30 = new IClamp()
access OLMCell[0].soma
intstim30.loc(0.5)
	
intstim30.del=10
	intstim30.dur=1800
	
intstim30.amp= OStim2  //0.013


objectvar intstim31
access OLMCell[4].soma
OLMCell[4].soma intstim31 = new IClamp()
access OLMCell[4].soma
intstim31.loc(0.5)
	intstim31.del=10
	intstim31.dur=1800
	
intstim31.amp= OStim2 //0.013


objectvar intstim32
access OLMCell[8].soma
OLMCell[8].soma intstim32 = new IClamp()
access OLMCell[8].soma
intstim32.loc(0.5)
	intstim32.del=10
	intstim32.dur=1800
intstim32.amp=OStim2 // 0.013

objectvar intstim33
access OLMCell[12].soma
OLMCell[12].soma intstim33 = new IClamp()
access OLMCell[12].soma
intstim33.loc(0.5)
	intstim33.del=10
	intstim33.dur=1800
	
intstim33.amp=OStim2 //  0.013


objectvar intstim34
access OLMCell[16].soma
OLMCell[16].soma intstim34 = new IClamp()
access OLMCell[16].soma
intstim34.loc(0.5)
	intstim34.del=10
	intstim34.dur=1800
intstim34.amp=OStim2 //  0.013


objectvar intstim35
access OLMCell[2].soma
OLMCell[2].soma intstim35 = new IClamp()
access OLMCell[2].soma
intstim35.loc(0.5)
	
intstim35.del=10
	intstim35.dur=1800
	
intstim35.amp= OStim3  //0.013


objectvar intstim36
access OLMCell[6].soma
OLMCell[6].soma intstim36 = new IClamp()
access OLMCell[6].soma
intstim36.loc(0.5)
	intstim36.del=10
	intstim36.dur=1800
	
intstim36.amp= OStim3 //0.013


objectvar intstim37
access OLMCell[10].soma
OLMCell[10].soma intstim37 = new IClamp()
access OLMCell[10].soma
intstim37.loc(0.5)
	intstim37.del=10
	intstim37.dur=1800
intstim37.amp=OStim3 // 0.013

objectvar intstim38
access OLMCell[14].soma
OLMCell[14].soma intstim38 = new IClamp()
access OLMCell[14].soma
intstim38.loc(0.5)
	intstim38.del=10
	intstim38.dur=1800
	
intstim38.amp=OStim3 //  0.013


objectvar intstim39
access OLMCell[18].soma
OLMCell[18].soma intstim39 = new IClamp()
access OLMCell[18].soma
intstim39.loc(0.5)
	intstim39.del=10
	intstim39.dur=1800
intstim39.amp=OStim3 //  0.013




//seperate current inj in input cels in each clust



objectvar intstim15

access Cell_Cell[1].soma
Cell_Cell[1].soma intstim15 = new IClamp()
//access electrode
access Cell_Cell[1].soma
intstim15.loc(0.5)
	intstim15.del=intdel
	intstim15.dur=intpw
	intstim15.amp=Istim1

objectvar intstim16

access Cell_Cell[2].soma
Cell_Cell[2].soma intstim16 = new IClamp()
//access electrode
access Cell_Cell[2].soma
intstim16.loc(0.5)
	intstim16.del=intdel
	intstim16.dur=intpw
	intstim16.amp=Istim2

objectvar intstim17

access Cell_Cell[3].soma
Cell_Cell[3].soma intstim17 = new IClamp()
//access electrode
access Cell_Cell[3].soma
intstim17.loc(0.5)
	intstim17.del=intdel
	intstim17.dur=intpw
	intstim17.amp=Istim3

objectvar intstim18

access Cell_Cell[5].soma
Cell_Cell[5].soma intstim18 = new IClamp()
//access electrode
access Cell_Cell[5].soma
intstim18.loc(0.5)
	intstim18.del=intdel
	intstim18.dur=intpw
	intstim18.amp=Istim1

objectvar intstim19

access Cell_Cell[6].soma
Cell_Cell[6].soma intstim19 = new IClamp()
//access electrode
access Cell_Cell[6].soma
intstim19.loc(0.5)
	intstim19.del=intdel
	intstim19.dur=intpw
	intstim19.amp=Istim2

objectvar intstim20

access Cell_Cell[7].soma
Cell_Cell[7].soma intstim20 = new IClamp()
//access electrode
access Cell_Cell[7].soma
intstim20.loc(0.5)
	intstim20.del=intdel
	intstim20.dur=intpw
	intstim20.amp=Istim3


objectvar intstim21

access Cell_Cell[9].soma
Cell_Cell[9].soma intstim21 = new IClamp()
//access electrode
access Cell_Cell[9].soma
intstim21.loc(0.5)
	intstim21.del=intdel
	intstim21.dur=intpw
	intstim21.amp=Istim1

objectvar intstim22

access Cell_Cell[10].soma
Cell_Cell[10].soma intstim22 = new IClamp()
//access electrode
access Cell_Cell[10].soma
intstim22.loc(0.5)
	intstim22.del=intdel
	intstim22.dur=intpw
	intstim22.amp=Istim2

objectvar intstim23

access Cell_Cell[11].soma
Cell_Cell[11].soma intstim23 = new IClamp()
//access electrode
access Cell_Cell[11].soma
intstim23.loc(0.5)
	intstim23.del=intdel
	intstim23.dur=intpw
	intstim23.amp=Istim3

objectvar intstim24

access Cell_Cell[13].soma
Cell_Cell[13].soma intstim24 = new IClamp()
//access electrode
access Cell_Cell[13].soma
intstim24.loc(0.5)
	intstim24.del=intdel
	intstim24.dur=intpw
	intstim24.amp=Istim1

objectvar intstim25

access Cell_Cell[14].soma
Cell_Cell[14].soma intstim25 = new IClamp()
//access electrode
access Cell_Cell[14].soma
intstim25.loc(0.5)
	intstim25.del=intdel
	intstim25.dur=intpw
	intstim25.amp=Istim2

objectvar intstim26

access Cell_Cell[15].soma
Cell_Cell[15].soma intstim26 = new IClamp()
//access electrode
access Cell_Cell[15].soma
intstim26.loc(0.5)
	intstim26.del=intdel
	intstim26.dur=intpw
	intstim26.amp=Istim3


objectvar intstim27
access Cell_Cell[17].soma
Cell_Cell[17].soma intstim27 = new IClamp()
//access electrode
access Cell_Cell[17].soma
intstim27.loc(0.5)
	intstim27.del=intdel
	intstim27.dur=intpw
	intstim27.amp=Istim1

objectvar intstim28

access Cell_Cell[18].soma
Cell_Cell[18].soma intstim28 = new IClamp()
//access electrode
access Cell_Cell[18].soma
intstim28.loc(0.5)
	intstim28.del=intdel
	intstim28.dur=intpw
	intstim28.amp=Istim2

objectvar intstim29

access Cell_Cell[19].soma
Cell_Cell[19].soma intstim29 = new IClamp()
//access electrode
access Cell_Cell[19].soma
intstim29.loc(0.5)
	intstim29.del=intdel
	intstim29.dur=intpw
	intstim29.amp=Istim3



for n=0, 3 {
InsertSyn1(n)
InsertSyn1(n+12)
InsertSyn1(n+24)
InsertSyn1(n+36)
InsertSyn1(n+48)
}

/////Connectivity


for k =0, totSyn/3-1 {

// print "k", k
for n=0, 2 {
m=n+1
if (m > 3) {m=n-3} 


a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)


a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
} //end n

//Projection from cell_1 cluster 1 to first cell in each other cluster (12 and 24)
g=wts1[12].get(k)
l=wts1[24].get(k)
/* Cell2 -> Cell3.Exc0 */  nc_append(1,   12, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   24, k,  l, 5)

g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(1,   48, k,  l, 5)

}

for k =totSyn/3, 2*totSyn/3-1 {

for n=0, 2 {
m=n+2
if (m > 3) {m=n-2} 
a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
  } ///end n

g=wts1[12].get(k)
l=wts1[24].get(k)
//Projection from cell_2 cluster 1 to first cell in each other cluster (12 and 24)
/* Cell3 -> Cell4.Exc0 */  nc_append(2,   12, k,  g, 5)
/* Cell2 -> Cell3.Exc0 */  nc_append(2,   24, k,  l, 5)


g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(2,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(2,   48, k,  l, 5)

  
}

for k =2*totSyn/3, totSyn-1 {
// print "k", k

for n=0, 2 {
m=n+3
if (m > 3) {m=n-1} 
a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)

a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)
}//end n

g=wts1[12].get(k)
l=wts1[24].get(k)
//Projection from cell_3 cluster 1 to first cell in each other cluster (12 and 24)
/* Cell4 -> Cell1.Exc0 */  nc_append(3,   12, k,  g, 5)
/* Cell2 -> Cell3.Exc0 */  nc_append(3,   24, k,  l, 5)

g=wts1[36].get(k)
l=wts1[48].get(k)

/* Cell2 -> Cell3.Exc0 */  nc_append(3,   36, k,  g, 5)

/* Cell2 -> Cell3.Exc0 */  nc_append(3,   48, k,  l, 5)

} //end k


for k =1, totSyn/3-1 {
// print "k", k

n=3
m=0

a=wts1[0].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)

a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)

a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,   m+36, k,  a, 5)

a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)


} //end k


for k =totSyn/3, 2*totSyn/3-1 {
// print "k", k

n=3
m=1


a=wts1[m].get(k)


/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)
a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,  m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,  m+36, k,  a, 5)
a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)


}
for k =2*totSyn/3,totSyn/3-1 {
// print "k", k

n=3
m=2

a=wts1[m].get(k)

/* Cell1 -> Cell2.Exc0 */  nc_append(n,   m, k,  a, 5)
a=wts1[m+12].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+12,   m+12, k,  a, 5)
a=wts1[m+24].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+24,   m+24, k,  a, 5)
a=wts1[m+36].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+36,  m+ 36, k,  a, 5)
a=wts1[m+48].get(k)
/* Cell1 -> Cell2.Exc0 */  nc_append(n+48,   m+48, k,  a, 5)



} //end k

for k =0, totSyn-1{
a=wts1[0].get(k)
b=wts1[1].get(k)
c=wts1[2].get(k)
f=wts1[3].get(k)

 /*NetStim4 -> Cell0.Exc0 */  ////nc_append(4,   0, k,  0.001,1)
/*NetStim4 -> Cell0.Exc0 */  ////nc_append(6,   0, k,  5*a,1)
}

for k =0, totSyn-1{
a=wts1[1].get(k)

 /*NetStim4 -> Cell0.Exc0 */ /// nc_append(2,   0, k,  0.001,1)
/*NetStim4 -> Cell0.Exc0 */  ////nc_append(6,   1, k,  5*a,1)
}



for n =0, 3{


///Pyr- bask within lammelar cluster1
/*Cell0 -> Bask0.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


//Pyr- OLM within lammelar cluster1
for m=0,2 {
/*Cell1 -> OLM2.Exc0 */ // nc_append(n,   9+m, 0,  0.00005,1)

//Pyr- OLM cross lammelar cluster1
/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   21+m, 0,  0.00003,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   33+m, 0,  0.00003,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   45+m, 0,  0.00002,1)

/*Cell1 -> OLM2.Exc0 */  //  nc_append(n,   57+m, 0,  0.00002,1)



/*Cell1 -> OLM2.Exc0 */  nc_append(n,   9+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster1
/*Cell1 -> OLM2.Exc0 */    nc_append(n,   21+m, 0,  0.00001,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   33+m, 0,  0.00001,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   45+m, 0,  0.000008,1)

/*Cell1 -> OLM2.Exc0 */    nc_append(n,   57+m, 0,  0.000008,1)
}
}

///Pyr- OLM within lammelar cluster2
for n =12, 15{

//for n =12, 14{

///Pyr- bask within lammelar cluster2
/*Cell0 -> Bask0.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster2
for m=0,2{

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   21+m, 0,  0.0001,1)

///Pyr- OLM cross lammelar cluster2
/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   9+m, 0,  0.00005,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   33+m, 0,  0.00002,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   45+m, 0,  0.00005,1)

/*Cell4 -> OLM2.Exc0 */ // nc_append(n,   57+m, 0,  0.00002,1)


/*Cell4 -> OLM2.Exc0 */  nc_append(n,   21+m, 0,  0.00002,1)

///Pyr- OLM cross lammelar cluster2
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.000003,1)
}
}

for n =24, 27{
//for n =24, 26{

///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3
for m=0,2{
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   21+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.000003,1)


/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.000008,1)
}
}
///cluster 4

for n =36, 39{
//for n =36, 38{

///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */   nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3

for m=0,2{
/*Cell4 -> OLM2.Exc0 */  nc_append(n,   45+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   21+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   33+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   57+m, 0,  0.000003,1)
}
}

//cluster 5
for n =48, 51{
//for n =48, 50{
///Pyr- bask within lammelar cluster3
/*Cell8 -> Bask8.Exc0 */  nc_append(n,   n+4, 0,  0.0008,0.3)


///Pyr- OLM within lammelar cluster3
for m=0,2{

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   57+m, 0,  0.00002,1)

//Pyr- OLM cross lammelar cluster3
/*Cell4 -> OLM2.Exc0 */   nc_append(n,   9+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   21+m, 0,  0.000003,1)

/*Cell4 -> OLM2.Exc0 */  nc_append(n,   33+m, 0,  0.000008,1)

/*Cell4 -> OLM2.Exc0 */   nc_append(n,   45+m, 0,  0.000003,1)
}
}


///Basket-Pyr in lammela
in1=totSyn 
for n= 0,3 {
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+4,   n, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+16,  n+12, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */  // nc_append(n+28,   n+ 24, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */ //  nc_append(n+40,  n+36, in1,  0.02,1)
/*Bask0 -> Exc1.Inh0 */  // nc_append(n+52,   n+ 48, in1,  0.02,1)

/*Bask0 -> Exc1.Inh0 */  // nc_append(n+4,   n, in1,  0.015,1)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+4,   n, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+16,  n+12, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+28,   n+ 24, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+40,  n+36, in1,  0.015,0.3)
/*Bask0 -> Exc1.Inh0 */   nc_append(n+52,   n+ 48, in1,  0.015,0.3)



}


///distal OLM

for n=0,3 {

for m= 0, 2{

for k =0, 8{

///OLM-Pyr within lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  // nc_append(9+m,   n, in1+1+9*m+k,  0.0005,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */ //  nc_append(9+m,   n+12, in1+1+9*m+k,  0.0005,1)
/*OLM0 -> Exc0.Inh0 */ // nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0005,1)
/*OLM0 -> Exc0.Inh0 */ // nc_append(9+m,   n+36, in1+1+9*m+k,  0.0003,1)
/*OLM0 -> Exc0.Inh0 */ //  nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0003,1) 

/*OLM0 -> Exc0.Inh0 */  /// nc_append(9+m,   n, in1+1+9*m+k,  0.0007,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  /// nc_append(9+m,   n+12, in1+1+9*m+k,  0.0006,1)
/*OLM0 -> Exc0.Inh0 */ /// nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0006,1)
/*OLM0 -> Exc0.Inh0 */ /// nc_append(9+m,   n+36, in1+1+9*m+k,  0.0004,1)
/*OLM0 -> Exc0.Inh0 */ ///  nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0004,1) 

/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n, in1+1+9*m+k,  0.0022,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n+12, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */  nc_append(9+m,   n+ 24, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */  nc_append(9+m,   n+36, in1+1+9*m+k,  0.0012,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(9+m,   n+ 48, in1+1+9*m+k,  0.0012,1) 


/// next 5 statements check if OLM is gone in 1 cluster
///OLM-Pyr within lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  //// nc_append(10,   n, in1+1+k,  0,1)
///OLM-Pyr cross lammelar cluster1
/*OLM0 -> Exc0.Inh0 */  //// nc_append(10,   n+12, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ //// nc_append(10,   n+ 24, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ ////  nc_append(10,   n+36, in1+1+k,  0,1)
/*OLM0 -> Exc0.Inh0 */ //// nc_append(10,   n+ 48, in1+1+k,  0,1) 



///OLM-Pyr within lammelar cluster2
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+12, in1+1+9*m+k,  0.0022,1) 
///OLM-Pyr cross lammelar cluster2
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n, in1+1+9*m+k,  0.0015,1)
//*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+24, in1+1+9*m+k,  0.0012,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+36, in1+1+9*m+k,  0.0015,1)
//*OLM0 -> Exc0.Inh0 */   nc_append(21+m,   n+48, in1+1+9*m+k,  0.0012,1)

//OLM-Pyr within lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+24, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+12, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+36, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(33+m,   n+48, in1+1+9*m+k,  0.0015,1) 


//OLM-Pyr within lammelar cluster4
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+36, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+12, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n, in1+1+9*m+k,  0.0015,1)
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+24, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(45+m,   n+48, in1+1+9*m+k,  0.0012,1) 

//OLM-Pyr within lammelar cluster5
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+48, in1+1+9*m+k,  0.0022,1) 
//OLM-Pyr cross lammelar cluster3
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+12, in1+1+9*m+k,  0.0012,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+24, in1+1+9*m+k,  0.0015,1) 
/*OLM0 -> Exc0.Inh0 */   nc_append(57+m,   n+36, in1+1+9*m+k,  0.0012,1) 

}
}
}

//// end network connectivity

vrec=0





proc intstimulus(){
//Intracellular current clamp at the soma based on user selected variables from control panel
// delay fixed at 50 ms
intdel=50
	access Cell_Cell[0].soma
        intstim.loc(0.5)
	intstim.del=intdel
	intstim.dur=intpw
	intstim.amp=Istim
}

proc intstimulus2(){//input cell N as argument
//Intracellular current clamp at the soma based on user selected variables from control panel

	access cells.object($1).soma
	intstim.loc(0.5)
	intstim.del=20
	intstim.dur=300
	intstim.amp=0.1
}





ncells=20

//objref  dis[ncells]
//objref di[ncells][ndend], dv[ncells][Nel]

///need to move const below to globals or extract from Cell_Cell
TWO_THIRD_APIDIST = 350 
USER5MAX = 76
APIDENDMAX = 74
BASDENDMAX = 43



//electric field stimulation
objref stim_amp, stim_time
stim_amp = new Vector()
stim_time = new Vector()

proc stim_waveform() { local i0, i1
  // this uses interpolated play
  // index    0  1    2    3        4
  // stim vec 0, 0,   1,   1,       0
  // time vec 0, DEL, DEL, DEL+DUR, DEL+DUR
  //  really  0, $1,  $1,  $1+$2,   $1+$2
  // first the stim vector
  stim_amp.resize(5)
  stim_amp.fill(0)
  stim_amp.x[2]=1
  stim_amp.x[3]=1
  stim_amp.mul($3)

stim_time.resize(5)
  stim_time.x[1]=$1
  stim_time.x[2]=$1
  stim_time.x[3]=$1+$2
  stim_time.x[4]=$1+$2
}


proc attach_stim() {
// since is_xtra is GLOBAL, we only need to specify Vector.play()
// for one point along each section of the model
forsec Cell_Cell[0].all {

    if (ismembrane("xtra")) {
psection()
// print "stim inserted"

stim_amp.play(&is_xtra, stim_time)

    }
 
}
forsec Cell_Cell[1].all {


    if (ismembrane("xtra")) {

psection()
// print "stim inserted"

stim_amp.play(&is_xtra, stim_time)

    }
 
}

}


proc setstim() {
  del = $1
  dur = $2
  amp = $3
  stim_waveform(del, dur, amp)
  attach_stim()
}


proc advance(){				
// At each time step, the extracellular voltage for each segments ends and midpoints are taken from mobj
									
fadvance()


}
//End advance


//check if need this for all cells
Cell_Cell[0].maxn3d()


//setstim(10, 200, 0.06)
//changed 9/12/09
setstim(10, pw, 0.06)



finitialize(Vrest)
if (cvode.active()) { cvode.re_init() }else{ fcurrent() } 
vrec = Cell_Cell[0].fieldrec1()

Cell_Cell[0].pasinit()
///checkthis
Cell_Cell[1].pasinit()
Cell_Cell[2].pasinit()
Cell_Cell[3].pasinit()



load_file("CurRun.ses")
load_file("GraphandElf.ses")


//access acell_home_