00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MPSPIKEINPUT_H
00019 #define MPSPIKEINPUT_H
00020
00021 using namespace std;
00022 #include <amygdala/spikeinput.h>
00023
00024 #include <vector>
00025 #include <pair.h>
00026
00027 #include <pthread.h>
00028
00029 class Synapse;
00030 class Network;
00031
00032
00038 class MpSpikeInput : public SpikeInput {
00039 public:
00040 MpSpikeInput(Network *NN);
00041 virtual ~MpSpikeInput();
00043 virtual void ReadInputBuffer();
00044
00048 void queueSpike(Synapse *synapse);
00049
00050 protected:
00052 pthread_mutex_t spikes_mutex;
00054 vector <Synapse * > *spikes;
00055 vector <Synapse * > *spikes_rest;
00056 };
00057
00058 #endif