00001 #ifndef _TSPIKESCHEDULER_H_ 00002 #define _TSPIKESCHEDULER_H_ 00003 00004 #include "globaldefinitions.h" 00005 #include "SimObject.h" 00006 00008 class SpikeScheduler 00009 { 00010 public: 00011 00013 // SpikeScheduler()=0; 00014 00016 virtual ~SpikeScheduler() {}; 00017 00019 00026 virtual void scheduleSpike(local_objectid_t senderid, float offsetFraction, engineid_t engine = 0) = 0; 00027 00029 00034 virtual void deliverSpikes(SpikeReceiverList &listActiveSynapses, engineid_t engine, double time, int stepOffset = 0)=0; 00035 00037 00040 virtual void reset()=0; 00041 00043 virtual void advance(engineid_t engine = 0) = 0; 00044 00046 virtual void nextCycle() = 0; 00047 00048 private: 00049 00050 }; 00051 00052 #endif /*_TSPIKESCHEDULER_H_*/