SpikeStream Application Library
0.2
|
00001 #ifndef ABSTRACTDEVICEMANAGER_H 00002 #define ABSTRACTDEVICEMANAGER_H 00003 00004 //SpikeStream includes 00005 #include "SpikeStreamTypes.h" 00006 00007 //Qt includes 00008 #include <QList> 00009 00010 namespace spikestream { 00011 00013 class AbstractDeviceManager{ 00014 00015 public: 00016 AbstractDeviceManager(); 00017 virtual ~AbstractDeviceManager(); 00018 00020 virtual QList<neurid_t>::iterator outputNeuronsBegin() = 0; 00021 00023 virtual QList<neurid_t>::iterator outputNeuronsEnd() = 0; 00024 00026 virtual void setInputNeurons(timestep_t timeStep, QList<neurid_t>& firingNeuronIDs) = 0; 00027 00029 virtual void step() = 0; 00030 00032 double getCurrent() { return current; } 00033 00035 bool isFireNeuronMode() { return fireNeuronMode; } 00036 00038 void setCurrent(double current) { this->current = current; } 00039 00041 void setFireNeuronMode(bool fireNeuronMode ) { this->fireNeuronMode = fireNeuronMode; } 00042 00043 00044 private: 00046 bool fireNeuronMode; 00047 00049 double current; 00050 00051 }; 00052 00053 } 00054 00055 #endif//ABSTRACTDEVICEMANAGER_H