/*-------------------------------------------------------------------------- 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 --------------------------------------------------------------------------*/ #ifndef CN_POPPOISSONN_H #define CN_POPPOISSONN_H #include "CN_neuron.h" #define POPPOI_IVARNO 0 #define POPPOI_PNO 4 double stdPOPPOI_p[POPPOI_PNO]= { 0.0, // refractory period [ms] -65.0, // resting potential 20.0, // spiking potential 0.5 // spike duration }; double *POPPOI_p= stdPOPPOI_p; class PopPoissonN: public neuron { private: double fire_t; double next_spike; double *Lambda; public: PopPoissonN(int, vector, double *); PopPoissonN(int, double *); ~PopPoissonN(); virtual double E(double *); virtual void validate_E(double *, double); virtual void step(); virtual void derivative(double *, double *) { } virtual void init(double *, double *); virtual void set_Lambda(double *); // set an external rate variable }; #endif