/*--------------------------------------------------------------------------
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_POISSONNEURON_H
#define CN_POISSONNEURON_H
#include "CN_neuron.h"
#include "randomGen.h"
#define POI_IVARNO 0
#define POI_PNO 5
randomGen R;
double stdPOI_p[POI_PNO]= {
2, // 0 - spike time of mf_poisson inputneuron
10.0, // 1 - refractory period + spike time
-60.0, // 2 - input neuron resting potential
50.0, // 3 - input neuron potential when firing
0.1 // 4 - firing rate Lambda [1/ms]=[10^3 Hz]
};
double *POI_p= stdPOI_p;
class Poissonneuron: public neuron
{
private:
double fire_t;
int firing;
int refract;
double *myx, *myxn;
public:
Poissonneuron(int, tnvector<int>, double *);
~Poissonneuron();
virtual double E(double *);
virtual void validate_E(double *, double);
virtual void step();
virtual void derivative(double *, double *) { }
virtual void init(double *, double *);
};
#endif