SpikeStream Nemo Plugin  0.2
AbstractSTDPFunction.h
Go to the documentation of this file.
00001 #ifndef ABSTRACTSTDPFUNCTION_H
00002 #define ABSTRACTSTDPFUNCTION_H
00003 
00004 //SpikeStream includes
00005 #include "ParameterInfo.h"
00006 #include "SpikeStreamTypes.h"
00007 
00008 //Qt includes
00009 #include <QHash>
00010 
00011 namespace spikestream {
00012 
00014         class AbstractSTDPFunction {
00015                 public:
00016                         AbstractSTDPFunction();
00017                         virtual ~AbstractSTDPFunction();
00018                         virtual timestep_t getApplySTDPInterval();
00019                         virtual QHash<QString, double> getParameters();
00020                         virtual void setParameters(QHash<QString, double>& newParameterMap);
00021                         virtual QHash<QString, double> getDefaultParameters();
00022                         virtual QList<ParameterInfo> getParameterInfoList();
00023                         virtual float* getPreArray() = 0;
00024                         virtual int getPreLength() = 0;
00025                         virtual float* getPostArray() = 0;
00026                         virtual int getPostLength() = 0;
00027                         virtual float getMinExcitatoryWeight() = 0;
00028                         virtual float getMaxExcitatoryWeight() = 0;
00029                         virtual float getMinInhibitoryWeight() = 0;
00030                         virtual float getMaxInhibitoryWeight() = 0;
00031                         virtual float getReward();
00032                         virtual void print() = 0;
00033 
00034                 protected:
00035                         //======================  VARIABLES  ========================
00037                         QList<ParameterInfo> parameterInfoList;
00038 
00040                         QHash<QString, double> defaultParameterMap;
00041 
00043                         QHash<QString, double> parameterMap;
00044 
00047                         bool functionUpToDate;
00048 
00049 
00050                         //=====================  METHODS  =======================
00051                         double getParameter(QString parameterName);
00052         };
00053 
00054 }
00055 
00056 #endif//ABSTRACTSTDPFUNCTION_H
 All Classes Files Functions Variables Typedefs Defines