/*-------------------------------------------------------------------------- Author: Thomas Nowotny Institute: Institute for Nonlinear Dynamics University of California San Diego La Jolla, CA 92093-0402 email to: tnowotny@ucsd.edu initial version: 2005-08-17 --------------------------------------------------------------------------*/ #include "CN_ECdemiGapsynapse.h" #include "CN_synapse.cc" ECdemiGapsynapse:: ECdemiGapsynapse(neuron* source, neuron *target, double ingsyn, double intau, double inVmid, double inVslope): synapse(source, target, ECdemiGapIVARNO, ECdemiGapPNO, ECDEMIGAPSYNAPSE) { p[0]= ingsyn; // injected current p[1]= intau; p[2]= inVmid; p[3]= inVslope; } ECdemiGapsynapse::~ECdemiGapsynapse() { } double ECdemiGapsynapse::gsyn() { return p[0]; } void ECdemiGapsynapse::set_gsyn(double ingsyn) { p[0]= ingsyn; } double ECdemiGapsynapse::Isyn(double *x) { return p[0]*x[idx]*(source->E(x) - target->E(x)); } void ECdemiGapsynapse::derivative(double *x, double *dx) { static double Sinf; Sinf= 1.0/(1.0+exp((target->E(x)-p[2])/p[3])); dx[idx]= -(x[idx]-Sinf)/p[1]; }