// CHOOSE FILE NAME
	strdef cellToLoad
	{
		cellToLoad = "twinApical.swc"
	}

// This code is based on the implementation of 
// http://www.neuron.yale.edu/phpbb/viewtopic.php?f=13&t=2272; extended for
// use with an ASCII file emerging from Neurolucida.

	{
		load_file("import3d.hoc")
	}


// This is a dummy template that gets overwritten when the new cell is 
// loaded.  This is included strictly to facilitate the import process.
	begintemplate Cell
	
	public soma, axon, dend, apic
	create soma[1],axon[1],dend[1],apic[1]
	public all,somatic,axonal,basal,apical       
	objref all,somatic,axonal,basal,apical
	
	proc init() {
		all = new SectionList()
		somatic = new SectionList()
		axonal = new SectionList()
		basal = new SectionList()
		apical = new SectionList()
	}
	
	endtemplate Cell



// Load the cell.
// $s1 is the morphology name
// On exit, the return object is a Cell instance with the
// morphology specified by the $s1 file

	obfunc mkcell() { localobj import,morph,cell
		cell = new Cell()
		morph = new Import3d_SWC_read()
		morph.input($s1)
		import = new Import3d_GUI(morph,0)
		execute("forall delete_section()",cell)
		import.instantiate(cell)
		return cell
	}
	
	objref cell
	{
		cell = mkcell(cellToLoad)
	}