// $Id: tmpl.hoc,v 1.18 1998/10/18 22:49:52 billl Exp $

install_vecst()
install_matrix()

//* NRN

begintemplate NRN
  public soma
  public ampa, gaba, vec, trig, stim
  public up
  objectvar ampa,gaba,vec, trig, stim
  objref this,up

  create soma

  proc init() { 
    col = $1 num = $2 inps = $3
    soma {diam = 10   L = 31.831}
    access soma
    // type, col, pre0, tier
    ampa = new AMPA(0.5)
    gaba = new GABAA(0.5)
    trig = new PULSE(0.5)
    stim = new sinstim(0.5)
  }
endtemplate NRN

//* Defining hippo lamella
begintemplate LAM
  public nrn,sumr,ampalist,gabalist,veclist,clist

  objref nrn[1]
  objref sumr[1]

  proc init() { 
    lnum = $1 cnum = $2 inum = $3
    objectvar nrn[cnum]
    for i=0,cnum-1 { nrn[i] = new NRN(lnum,i,inum) }
    // sumr[0] = new NRN(lnum,cnum,cnum)
  }

  proc clist () { local i
      $o1.remove_all 
      for i=0,cnum-1 { $o1.append(nrn[i]) }
  }
  proc veclist () { local i
      $o1.remove_all 
      for i=0,cnum-1 { $o1.append(nrn[i].vec) }
  }
  proc ampalist () { local i
      $o1.remove_all 
      for i=0,cnum-1 { $o1.append(nrn[i].ampa) }
  }
  proc gabalist () { local i
      $o1.remove_all 
      for i=0,cnum-1 { $o1.append(nrn[i].gaba) }
  }
endtemplate LAM