00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _SPIKE_RING_BUFFER
00011 #define _SPIKE_RING_BUFFER
00012
00019 class SpikeRingBuffer
00020 {
00021 public:
00022 SpikeRingBuffer();
00023
00025 void reinit( double dt, double bufferTime );
00026
00028 void addSpike( double timestamp, double weight );
00030 double pop( double currTime );
00031 private:
00032 static const unsigned int MAXBIN;
00033 double dt_;
00034 double currTime_;
00035 unsigned int currentBin_;
00036 vector< double > weightSum_;
00037 };
00038 #endif // _SPIKE_RING_BUFFER