/****************************************************************/ /* */ /* tectum_11.C */ /* */ /****************************************************************/ # include "nsl_include.h" # include "tectum_11.h" Tectum11::Tectum11(nsl_string str, NslModule* parent) : NslModule(str,parent), in("in",this), // network input r2("r2",this), // ganglion cells r3("r3",this), r4("r4",this), gl("gl",this), GL("GL",this), lp("lp",this), LP("LP",this), sp("sp",this), SP("SP",this), sn("sn",this), SN("SN",this), py("py",this), PY("PY",this), tp("tp",this), TP("TP",this), C("C",this), gl_tm("gl_tm",this), lp_tm("lp_tm",this), sp_tm("sp_tm",this), sn_tm("sn_tm",this), py_tm("py_tm",this), tp_tm("tp_tm",this), Wr2gl("Wr2gl",this), Wlpgl("Wlpgl",this), Wspgl("Wspgl",this), Wr2lp("Wr2lp",this), Wgllp("Wgllp",this), Wsplp("Wsplp",this), Wsnlp("Wsnlp",this), Wtplp("Wtplp",this), Wr2sp("Wr2sp",this), Wglsp("Wglsp",this), Wsnsp("Wsnsp",this), Wtpsp("Wtpsp",this), Wlpsn("Wlpsn",this), Wr2py("Wr2py",this), Wr3py("Wr3py",this), Wr4py("Wr4py",this), Wsppy("Wsppy",this), Wlppy("Wlppy",this), Wtppy("Wtppy",this), Wr3tp("Wr3tp",this), Wr4tp("Wr4tp",this) { } void Tectum11::initRun() { in = 0; r2 = 0; r3 = 0; r4 = 0; gl = 0; GL = 0; lp = -0.09; LP = 0; sp = -0.18; SP = 0; sn = 0; SN = 0; py = -0.36; PY = 0; tp = 0; TP = 0; } void Tectum11::simRun() { in = 0; in.run(); r2 = in; r3 = 0.65*in; r4 = 0.4*in; nslDiff(gl,gl_tm, -gl + Wr2gl*r2 + Wlpgl*LP + Wspgl*SP); GL = gl; nslDiff(lp,lp_tm, -lp+Wr2lp*r2+Wgllp*GL+Wsplp*SP-Wsnlp*SN-Wtplp*TP); LP = NSLstep(lp,(float) 1.0); nslDiff(sp,sp_tm, -sp + Wr2sp*r2 + Wglsp*GL - Wsnsp*SN - Wtpsp*TP); SP = NSLstep(sp,(float) 1.7); nslDiff(sn,sn_tm, -sn + Wlpsn*LP); SN = NSLramp(sn,(float) 0.2,(float) 0,(float) 0.2); nslDiff(py,py_tm, -py + Wr2py*r2 + Wr3py*r3 + Wr4py*r4 + Wsppy*SP + Wlppy*LP - Wtppy*TP); PY = NSLsat(py,(float) 1.91,(float) 5); nslDiff(tp,tp_tm, -tp + Wr3tp*r3 + Wr4tp*r4); TP = NSLramp(tp,(float) 3.7,(float) 0,(float) 3.7); } Tectum11Model::Tectum11Model() : NslModel("Tectum11Model"), tectum("tectum",this) { } AslSchemaModel _Tectum11Model("Tectum11Model");