begintemplate tcaxon15

external depax
external findTauk
external getgK
external getTaukFac

// NEED TO ADJUST gLeak in tcaxnode

public init, tcaxtotal, tcaxnode, s, tcaxMYSA, tcaxFLUT, tcaxSTIN, tcaxonnodes, tcaxparanodes1, tcaxparanodes2, tcaxoninter, tcaxtotal


	nnodes = 15
	
	objref s[nnodes+2*(2*nnodes-2)+3*nnodes-3]				// pointer to all the TC cell sections
	
	create tcaxelectrode			// electrode for stimulation   
	create tcaxnode[nnodes]		// Ranvier nodes are created
	create tcaxMYSA[2*nnodes-2]		// MYSA sections are created
	create tcaxFLUT[2*nnodes-2]		// FLUT sections are created
	create tcaxSTIN[3*nnodes-3]		// STIN sections are created


proc init() { 
	global_variables()
	init_cell()
	connections()
	geom1()

}

proc global_variables() {
//	local i

	celsius = 36	// 36 degC   - temperature of the cell
	v_init = -70	// -70 mV     - initial membrane voltage for each compartment

	/* Number of sections for each cellular part -----*/
	/*												  */
	tcaxonnodes 	 = 15	// number of Ranvier nodes - extentions to 250 and 15		
	tcaxparanodes1 	 = 2*tcaxonnodes-2 	// number of MYSA sections (= 2*axonnodes-2)
	tcaxparanodes2	 = 2*tcaxonnodes-2 	// number of FLUT sections (= 2*axonnodes-2)
	tcaxoninter    = 3*tcaxonnodes-3 	// number of STIN sections (= 3*axonnodes-3)
	tcaxtotal	 = tcaxonnodes+2*tcaxparanodes1+tcaxoninter //  	// total number of sections in a TC cell - extentions to 2250 and 370	 
	
	/* Geometric parameters --------------------------*/
	/*												  */
	tcaxfiberD 		= 2		// um - fiber diameter
	tcaxparalength1 = 3  	// um - MYSA length
	tcaxparalength2 = 10	// um - FLUT length
	tcaxnodelength 	= 1		// um - Ranvier node length
	tcaxspace_p1 	= 0.002 // um - MYSA periaxonal space width 
	tcaxspace_p2 	= 0.004	// um - FLUT periaxonal space width
	tcaxspace_i 	= 0.004	// um - STIN periaxonal space width
	tcaxend_D		= 100 	// um - diam of ends (bouton & soma, both passive)

	
	tcaxonD 		= 1.6		// um - STIN diameter
	tcaxnodeD		= 1.4		// um - Ranvier node diameter
	tcaxparaD1		= 1.4		// um - MYSA diameter
	tcaxparaD2		= 1.6		// um - FLUT diameter
	tcaxdeltax		= 200
	tcaxnl			= 30		// number of myelin lamella
	
	tcaxinterlength=(tcaxdeltax-tcaxnodelength-(2*tcaxparalength1)-(2*tcaxparalength2))/3
	
	/* Electrical parameters -------------------------*/
	/*												  */
	tcaxrhoa = 0.7e6 	// Ohms*um - intracellular resistivity
    tcaxrhoe = 5e6 		// Ohms*um - extracellular medium resistivity 
	tcaxmycm = 0.1 		// uF/cm2  - myelin capacitance
	tcaxmygm = 0.001 	// S/cm2   - myelin conductance
	
	tcaxRpn0 = (tcaxrhoa*.01)/(PI*((((tcaxnodeD/2)+tcaxspace_p1)^2)-((tcaxnodeD/2)^2)))		// MOhms*cm - Ranvier node sheath resistivity 
	tcaxRpn1 = (tcaxrhoa*.01)/(PI*((((tcaxparaD1/2)+tcaxspace_p1)^2)-((tcaxparaD1/2)^2))) 	// MOhms*cm - MYSA sheath resistivity 
	tcaxRpn2 = (tcaxrhoa*.01)/(PI*((((tcaxparaD2/2)+tcaxspace_p2)^2)-((tcaxparaD2/2)^2)))	// MOhms*cm - FLUT sheath resistivity 
	tcaxRpx  = (tcaxrhoa*.01)/(PI*((((tcaxonD/2)+tcaxspace_i)^2)-((tcaxonD/2)^2)))		// MOhms*cm - STIN sheath resistivity 
}

proc init_cell() {	
	/* Ranvier nodes ---------------------------------*/
	/*												  */
	
	tcaxnode[0]{
		s[0] = new SectionRef()					
		nseg=1
		Ra=tcaxrhoa/10000
		cm=2
		
		insert pas
			g_pas=1
			e_pas=-70 // -70
	
		insert extracellular xraxial=tcaxRpn0 xg=1e10 xc=0
		}

	
	for i=0,tcaxonnodes-1 {
		tcaxnode[i]{
			s[i] = new SectionRef()					
			nseg=1
			Ra=tcaxrhoa/10000
			cm=2
			
			insert axnode75mb
				vshift_axnode75mb = 10 // 10
				ena_axnode75mb = 45 // 45 in TC, 50 in MRG
				gnabar_axnode75mb = 3
				gnapbar_axnode75mb = 0.01 // 0.05 in TC, 0.01 in MRG
//				ek_axnode75mb = -95 // -95 in TC, -90 in MRG?
				gkbar_axnode75mb = 0.08*getgK() // 0.07 in TC, 0.08 in MRG
				gl_axnode75mb = 0.007 // 0.005 in TC, 0.007 in MRG // 0.007 in TC_mb?
				el_axnode75mb = -60 // -65 for TC axon only, -60 in TC, -90 in MRG

			insert kdyn
				ko_kdyn = 3		// (mM)
				dep_kdyn = depax()
				tk0_kdyn = findTauk()
				tkfac_kdyn = getTaukFac()
			
				insert extracellular xraxial=tcaxRpn0 xg=1e10 xc=0
			}
		}
	/* tcaxMYSA ------------------------------------------*/
	/*												  */
	for i=0, tcaxparanodes1-1 {
		tcaxMYSA[i]{
			s[i+tcaxonnodes] = new SectionRef()
			nseg=1
			Ra=tcaxrhoa/10000
			cm=2
			insert pas
				g_pas=0.0001
				e_pas=-70 // -70
			insert extracellular xraxial=tcaxRpn1 xg=tcaxmygm/(tcaxnl*2) xc=tcaxmycm/(tcaxnl*2)
			}
	}
	
	/* tcaxFLUT ------------------------------------------*/
	/*												  */	
	for i=0, tcaxparanodes2-1 {
		tcaxFLUT[i]{
			s[i+tcaxonnodes+tcaxparanodes1] = new SectionRef()
			nseg=1
			Ra=tcaxrhoa/10000
			cm=2
			insert parak75
				gkbar_parak75 = 0.02*getgK()  // *2 on 12/9/08 by M. Birdno
				vshift_parak75 = 10 // 10
//			insert parak70
//				gkbar_parak70 = 0.02
//				vshift_parak70 = 10 // 10

			insert pas
				g_pas=0.0001	
				e_pas=-70 // -70
			insert extracellular xraxial=tcaxRpn2 xg=tcaxmygm/(tcaxnl*2) xc=tcaxmycm/(tcaxnl*2)
			}
	}
	
	/* STIN ------------------------------------------*/
	/*												  */	
	for i=0, tcaxoninter-1 {
		tcaxSTIN[i]{
			s[i+tcaxonnodes+tcaxparanodes1+tcaxparanodes2] = new SectionRef()
			nseg=1
			Ra=tcaxrhoa/10000
			cm=2
			insert pas
				g_pas=0.0001
				e_pas=-70 // -70
			insert extracellular xraxial=tcaxRpx xg=tcaxmygm/(tcaxnl*2) xc=tcaxmycm/(tcaxnl*2)
			}
	}
	/* Stimulation Electrode -------------------------*/
	/*												  */
	tcaxelectrode {
		L=1
		d=1
	}
	/*--------------------------------------------------- End Procedure */
}	
	
	
	
proc connections() {	
	/********************************************************************/
	/********************************************************************/
	/**																   **/
	/** Connection between the sections in a 3D shape.				   **/
	/**																   **/
	/********************************************************************/
	/********************************************************************/
	
	
	
	connect tcaxMYSA[0](0), tcaxnode[0](1)
	connect tcaxFLUT[0](0), tcaxMYSA[0](1)
	connect tcaxSTIN[0](0), tcaxFLUT[0](1)
	connect tcaxSTIN[1](0), tcaxSTIN[0](1)
	connect tcaxSTIN[2](0), tcaxSTIN[1](1)
	connect tcaxFLUT[1](0), tcaxSTIN[2](1)
	connect tcaxMYSA[1](0), tcaxFLUT[1](1)
	connect tcaxnode[1](0), tcaxMYSA[1](1)
	
	for i=1, tcaxonnodes-2 {
		connect tcaxMYSA[2*i](0), tcaxnode[i](1)
		connect tcaxFLUT[2*i](0), tcaxMYSA[2*i](1)
		connect tcaxSTIN[3*i](0), tcaxFLUT[2*i](1)
		connect tcaxSTIN[3*i+1](0), tcaxSTIN[3*i](1)
		connect tcaxSTIN[3*i+2](0), tcaxSTIN[3*i+1](1)
		connect tcaxFLUT[2*i+1](0), tcaxSTIN[3*i+2](1)
		connect tcaxMYSA[2*i+1](0), tcaxFLUT[2*i+1](1)
		connect tcaxnode[i+1](0), tcaxMYSA[2*i+1](1)	
	}
	
	//connect bouton[0](0), tcaxnode[axontcaxnodes-1](1)
	/************************************************** End connections */
}	
	
	
	
proc geom1() {	
	/********************************************************************/
	/********************************************************************/
	/**																   **/
	/** 3D Geometry of each section: x,y,z coordinates and diameter.   **/
	/**																   **/
	/********************************************************************/
	/********************************************************************/
	
	/*soma[0] {
	   pt3dadd(-70, 0, 0, end_D)
	   pt3dadd(29, 0, 0, end_D)
	}
	*/
	tcaxnode[0] {
	   pt3dadd(29, 0, 0, tcaxnodeD) // tcaxnodeD
	   pt3dadd(30, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[0] {
	   pt3dadd(30, 0, 0, tcaxparaD1)
	   pt3dadd(33, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[0] {
	   pt3dadd(33, 0, 0, tcaxparaD2)
	   pt3dadd(43, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[0] {
	   pt3dadd(43, 0, 0, tcaxonD)
	   pt3dadd(101, 0, 0, tcaxonD)
	}
	tcaxSTIN[1] {
	   pt3dadd(101, 0, 0, tcaxonD)
	   pt3dadd(159, 0, 0, tcaxonD)
	}
	tcaxSTIN[2] {
	   pt3dadd(159, 0, 0, tcaxonD)
	   pt3dadd(217, 0, 0, tcaxonD)
	}
	tcaxFLUT[1] {
	   pt3dadd(217, 0, 0, tcaxparaD2)
	   pt3dadd(227, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[1] {
	   pt3dadd(227, 0, 0, tcaxparaD1)
	   pt3dadd(230, 0, 0, tcaxparaD1)
	}
	tcaxnode[1] {
	   pt3dadd(230, 0, 0, tcaxnodeD)
	   pt3dadd(231, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[2] {
	   pt3dadd(231, 0, 0, tcaxparaD1)
	   pt3dadd(234, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[2] {
	   pt3dadd(234, 0, 0, tcaxparaD2)
	   pt3dadd(244, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[3] {
	   pt3dadd(244, 0, 0, tcaxonD)
	   pt3dadd(302, 0, 0, tcaxonD)
	}
	tcaxSTIN[4] {
	   pt3dadd(302, 0, 0, tcaxonD)
	   pt3dadd(360, 0, 0, tcaxonD)
	}
	tcaxSTIN[5] {
	   pt3dadd(360, 0, 0, tcaxonD)
	   pt3dadd(418, 0, 0, tcaxonD)
	}
	tcaxFLUT[3] {
	   pt3dadd(418, 0, 0, tcaxparaD2)
	   pt3dadd(428, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[3] {
	   pt3dadd(428, 0, 0, tcaxparaD1)
	   pt3dadd(431, 0, 0, tcaxparaD1)
	}
	tcaxnode[2] {
	   pt3dadd(431, 0, 0, tcaxnodeD)
	   pt3dadd(432, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[4] {
	   pt3dadd(432, 0, 0, tcaxparaD1)
	   pt3dadd(435, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[4] {
	   pt3dadd(435, 0, 0, tcaxparaD2)
	   pt3dadd(445, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[6] {
	   pt3dadd(445, 0, 0, tcaxonD)
	   pt3dadd(503, 0, 0, tcaxonD)
	}
	tcaxSTIN[7] {
	   pt3dadd(503, 0, 0, tcaxonD)
	   pt3dadd(561, 0, 0, tcaxonD)
	}
	tcaxSTIN[8] {
	   pt3dadd(561, 0, 0, tcaxonD)
	   pt3dadd(619, 0, 0, tcaxonD)
	}
	tcaxFLUT[5] {
	   pt3dadd(619, 0, 0, tcaxparaD2)
	   pt3dadd(629, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[5] {
	   pt3dadd(629, 0, 0, tcaxparaD1)
	   pt3dadd(632, 0, 0, tcaxparaD1)
	}
	tcaxnode[3] {
	   pt3dadd(632, 0, 0, tcaxnodeD)
	   pt3dadd(633, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[6] {
	   pt3dadd(633, 0, 0, tcaxparaD1)
	   pt3dadd(636, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[6] {
	   pt3dadd(636, 0, 0, tcaxparaD2)
	   pt3dadd(646, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[9] {
	   pt3dadd(646, 0, 0, tcaxonD)
	   pt3dadd(704, 0, 0, tcaxonD)
	}
	tcaxSTIN[10] {
	   pt3dadd(704, 0, 0, tcaxonD)
	   pt3dadd(762, 0, 0, tcaxonD)
	}
	tcaxSTIN[11] {
	   pt3dadd(762, 0, 0, tcaxonD)
	   pt3dadd(820, 0, 0, tcaxonD)
	}
	tcaxFLUT[7] {
	   pt3dadd(820, 0, 0, tcaxparaD2)
	   pt3dadd(830, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[7] {
	   pt3dadd(830, 0, 0, tcaxparaD1)
	   pt3dadd(833, 0, 0, tcaxparaD1)
	}
	tcaxnode[4] {
	   pt3dadd(833, 0, 0, tcaxnodeD)
	   pt3dadd(834, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[8] {
	   pt3dadd(834, 0, 0, tcaxparaD1)
	   pt3dadd(837, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[8] {
	   pt3dadd(837, 0, 0, tcaxparaD2)
	   pt3dadd(847, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[12] {
	   pt3dadd(847, 0, 0, tcaxonD)
	   pt3dadd(905, 0, 0, tcaxonD)
	}
	tcaxSTIN[13] {
	   pt3dadd(905, 0, 0, tcaxonD)
	   pt3dadd(963, 0, 0, tcaxonD)
	}
	tcaxSTIN[14] {
	   pt3dadd(963, 0, 0, tcaxonD)
	   pt3dadd(1021, 0, 0, tcaxonD)
	}
	tcaxFLUT[9] {
	   pt3dadd(1021, 0, 0, tcaxparaD2)
	   pt3dadd(1031, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[9] {
	   pt3dadd(1031, 0, 0, tcaxparaD1)
	   pt3dadd(1034, 0, 0, tcaxparaD1)
	}
	tcaxnode[5] {
	   pt3dadd(1034, 0, 0, tcaxnodeD)
	   pt3dadd(1035, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[10] {
	   pt3dadd(1035, 0, 0, tcaxparaD1)
	   pt3dadd(1038, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[10] {
	   pt3dadd(1038, 0, 0, tcaxparaD2)
	   pt3dadd(1048, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[15] {
	   pt3dadd(1048, 0, 0, tcaxonD)
	   pt3dadd(1106, 0, 0, tcaxonD)
	}
	tcaxSTIN[16] {
	   pt3dadd(1106, 0, 0, tcaxonD)
	   pt3dadd(1164, 0, 0, tcaxonD)
	}
	tcaxSTIN[17] {
	   pt3dadd(1164, 0, 0, tcaxonD)
	   pt3dadd(1222, 0, 0, tcaxonD)
	}
	tcaxFLUT[11] {
	   pt3dadd(1222, 0, 0, tcaxparaD2)
	   pt3dadd(1232, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[11] {
	   pt3dadd(1232, 0, 0, tcaxparaD1)
	   pt3dadd(1235, 0, 0, tcaxparaD1)
	}
	tcaxnode[6] {
	   pt3dadd(1235, 0, 0, tcaxnodeD)
	   pt3dadd(1236, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[12] {
	   pt3dadd(1236, 0, 0, tcaxparaD1)
	   pt3dadd(1239, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[12] {
	   pt3dadd(1239, 0, 0, tcaxparaD2)
	   pt3dadd(1249, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[18] {
	   pt3dadd(1249, 0, 0, tcaxonD)
	   pt3dadd(1307, 0, 0, tcaxonD)
	}
	tcaxSTIN[19] {
	   pt3dadd(1307, 0, 0, tcaxonD)
	   pt3dadd(1365, 0, 0, tcaxonD)
	}
	tcaxSTIN[20] {
	   pt3dadd(1365, 0, 0, tcaxonD)
	   pt3dadd(1423, 0, 0, tcaxonD)
	}
	tcaxFLUT[13] {
	   pt3dadd(1423, 0, 0, tcaxparaD2)
	   pt3dadd(1433, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[13] {
	   pt3dadd(1433, 0, 0, tcaxparaD1)
	   pt3dadd(1436, 0, 0, tcaxparaD1)
	}
	tcaxnode[7] {
	   pt3dadd(1436, 0, 0, tcaxnodeD)
	   pt3dadd(1437, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[14] {
	   pt3dadd(1437, 0, 0, tcaxparaD1)
	   pt3dadd(1440, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[14] {
	   pt3dadd(1440, 0, 0, tcaxparaD2)
	   pt3dadd(1450, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[21] {
	   pt3dadd(1450, 0, 0, tcaxonD)
	   pt3dadd(1508, 0, 0, tcaxonD)
	}
	tcaxSTIN[22] {
	   pt3dadd(1508, 0, 0, tcaxonD)
	   pt3dadd(1566, 0, 0, tcaxonD)
	}
	tcaxSTIN[23] {
	   pt3dadd(1566, 0, 0, tcaxonD)
	   pt3dadd(1624, 0, 0, tcaxonD)
	}
	tcaxFLUT[15] {
	   pt3dadd(1624, 0, 0, tcaxparaD2)
	   pt3dadd(1634, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[15] {
	   pt3dadd(1634, 0, 0, tcaxparaD1)
	   pt3dadd(1637, 0, 0, tcaxparaD1)
	}
	tcaxnode[8] {
	   pt3dadd(1637, 0, 0, tcaxnodeD)
	   pt3dadd(1638, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[16] {
	   pt3dadd(1638, 0, 0, tcaxparaD1)
	   pt3dadd(1641, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[16] {
	   pt3dadd(1641, 0, 0, tcaxparaD2)
	   pt3dadd(1651, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[24] {
	   pt3dadd(1651, 0, 0, tcaxonD)
	   pt3dadd(1709, 0, 0, tcaxonD)
	}
	tcaxSTIN[25] {
	   pt3dadd(1709, 0, 0, tcaxonD)
	   pt3dadd(1767, 0, 0, tcaxonD)
	}
	tcaxSTIN[26] {
	   pt3dadd(1767, 0, 0, tcaxonD)
	   pt3dadd(1825, 0, 0, tcaxonD)
	}
	tcaxFLUT[17] {
	   pt3dadd(1825, 0, 0, tcaxparaD2)
	   pt3dadd(1835, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[17] {
	   pt3dadd(1835, 0, 0, tcaxparaD1)
	   pt3dadd(1838, 0, 0, tcaxparaD1)
	}
	tcaxnode[9] {
	   pt3dadd(1838, 0, 0, tcaxnodeD)
	   pt3dadd(1839, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[18] {
	   pt3dadd(1839, 0, 0, tcaxparaD1)
	   pt3dadd(1842, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[18] {
	   pt3dadd(1842, 0, 0, tcaxparaD2)
	   pt3dadd(1852, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[27] {
	   pt3dadd(1852, 0, 0, tcaxonD)
	   pt3dadd(1910, 0, 0, tcaxonD)
	}
	tcaxSTIN[28] {
	   pt3dadd(1910, 0, 0, tcaxonD)
	   pt3dadd(1968, 0, 0, tcaxonD)
	}
	tcaxSTIN[29] {
	   pt3dadd(1968, 0, 0, tcaxonD)
	   pt3dadd(2026, 0, 0, tcaxonD)
	}
	tcaxFLUT[19] {
	   pt3dadd(2026, 0, 0, tcaxparaD2)
	   pt3dadd(2036, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[19] {
	   pt3dadd(2036, 0, 0, tcaxparaD1)
	   pt3dadd(2039, 0, 0, tcaxparaD1)
	}
	tcaxnode[10] {
	   pt3dadd(2039, 0, 0, tcaxnodeD)
	   pt3dadd(2040, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[20] {
	   pt3dadd(2040, 0, 0, tcaxparaD1)
	   pt3dadd(2043, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[20] {
	   pt3dadd(2043, 0, 0, tcaxparaD2)
	   pt3dadd(2053, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[30] {
	   pt3dadd(2053, 0, 0, tcaxonD)
	   pt3dadd(2111, 0, 0, tcaxonD)
	}
	tcaxSTIN[31] {
	   pt3dadd(2111, 0, 0, tcaxonD)
	   pt3dadd(2169, 0, 0, tcaxonD)
	}
	tcaxSTIN[32] {
	   pt3dadd(2169, 0, 0, tcaxonD)
	   pt3dadd(2227, 0, 0, tcaxonD)
	}
	tcaxFLUT[21] {
	   pt3dadd(2227, 0, 0, tcaxparaD2)
	   pt3dadd(2237, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[21] {
	   pt3dadd(2237, 0, 0, tcaxparaD1)
	   pt3dadd(2240, 0, 0, tcaxparaD1)
	}
	tcaxnode[11] {
	   pt3dadd(2240, 0, 0, tcaxnodeD)
	   pt3dadd(2241, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[22] {
	   pt3dadd(2241, 0, 0, tcaxparaD1)
	   pt3dadd(2244, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[22] {
	   pt3dadd(2244, 0, 0, tcaxparaD2)
	   pt3dadd(2254, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[33] {
	   pt3dadd(2254, 0, 0, tcaxonD)
	   pt3dadd(2312, 0, 0, tcaxonD)
	}
	tcaxSTIN[34] {
	   pt3dadd(2312, 0, 0, tcaxonD)
	   pt3dadd(2370, 0, 0, tcaxonD)
	}
	tcaxSTIN[35] {
	   pt3dadd(2370, 0, 0, tcaxonD)
	   pt3dadd(2428, 0, 0, tcaxonD)
	}
	tcaxFLUT[23] {
	   pt3dadd(2428, 0, 0, tcaxparaD2)
	   pt3dadd(2438, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[23] {
	   pt3dadd(2438, 0, 0, tcaxparaD1)
	   pt3dadd(2441, 0, 0, tcaxparaD1)
	}
	tcaxnode[12] {
	   pt3dadd(2441, 0, 0, tcaxnodeD)
	   pt3dadd(2442, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[24] {
	   pt3dadd(2442, 0, 0, tcaxparaD1)
	   pt3dadd(2445, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[24] {
	   pt3dadd(2445, 0, 0, tcaxparaD2)
	   pt3dadd(2455, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[36] {
	   pt3dadd(2455, 0, 0, tcaxonD)
	   pt3dadd(2513, 0, 0, tcaxonD)
	}
	tcaxSTIN[37] {
	   pt3dadd(2513, 0, 0, tcaxonD)
	   pt3dadd(2571, 0, 0, tcaxonD)
	}
	tcaxSTIN[38] {
	   pt3dadd(2571, 0, 0, tcaxonD)
	   pt3dadd(2629, 0, 0, tcaxonD)
	}
	tcaxFLUT[25] {
	   pt3dadd(2629, 0, 0, tcaxparaD2)
	   pt3dadd(2639, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[25] {
	   pt3dadd(2639, 0, 0, tcaxparaD1)
	   pt3dadd(2642, 0, 0, tcaxparaD1)
	}
	tcaxnode[13] {
	   pt3dadd(2642, 0, 0, tcaxnodeD)
	   pt3dadd(2643, 0, 0, tcaxnodeD)
	}
	tcaxMYSA[26] {
	   pt3dadd(2643, 0, 0, tcaxparaD1)
	   pt3dadd(2646, 0, 0, tcaxparaD1)
	}
	tcaxFLUT[26] {
	   pt3dadd(2646, 0, 0, tcaxparaD2)
	   pt3dadd(2656, 0, 0, tcaxparaD2)
	}
	tcaxSTIN[39] {
	   pt3dadd(2656, 0, 0, tcaxonD)
	   pt3dadd(2714, 0, 0, tcaxonD)
	}
	tcaxSTIN[40] {
	   pt3dadd(2714, 0, 0, tcaxonD)
	   pt3dadd(2772, 0, 0, tcaxonD)
	}
	tcaxSTIN[41] {
	   pt3dadd(2772, 0, 0, tcaxonD)
	   pt3dadd(2830, 0, 0, tcaxonD)
	}
	tcaxFLUT[27] {
	   pt3dadd(2830, 0, 0, tcaxparaD2)
	   pt3dadd(2840, 0, 0, tcaxparaD2)
	}
	tcaxMYSA[27] {
	   pt3dadd(2840, 0, 0, tcaxparaD1)
	   pt3dadd(2843, 0, 0, tcaxparaD1)
	}
	tcaxnode[14] {
	   pt3dadd(2843, 0, 0, tcaxnodeD)
	   pt3dadd(2844, 0, 0, tcaxnodeD)
	}
	access tcaxnode[0]
}

init()

/************************************************** End 3D Geometry */




endtemplate tcaxon15