SpikeStream Nemo Plugin  0.2
STDPFunctions.h
Go to the documentation of this file.
00001 #ifndef STDPFUNCTIONS_H
00002 #define STDPFUNCTIONS_H
00003 
00004 //SpikeStream includes
00005 #include "AbstractSTDPFunction.h"
00006 #include "ParameterInfo.h"
00007 #include "SpikeStreamTypes.h"
00008 
00009 //Qt includes
00010 #include <QHash>
00011 
00012 
00013 //Other includes
00014 #include <vector>
00015 
00016 namespace spikestream {
00017 
00019         class STDPFunctions {
00020 
00021                 public:
00022                         static void cleanup();
00023                         static timestep_t getApplySTDPInterval(unsigned functionID);
00024                         static QString getFunctionDescription(unsigned functionID);
00025                         static QList<unsigned> getFunctionIDs();
00026                         static QHash<QString, double> getParameters(unsigned functionID);
00027                         static void setParameters(unsigned functionID, QHash<QString, double>& newParameterMap);
00028                         static QHash<QString, double> getDefaultParameters(unsigned functionID);
00029                         static QList<ParameterInfo> getParameterInfoList(unsigned functionID);
00030                         static float* getPreArray(unsigned functionID);
00031                         static int getPreLength(unsigned functionID);
00032                         static float* getPostArray(unsigned functionID);
00033                         static int getPostLength(unsigned functionID);
00034                         static float getMinExcitatoryWeight(unsigned functionID);
00035                         static float getMaxExcitatoryWeight(unsigned functionID);
00036                         static float getMinInhibitoryWeight(unsigned functionID);
00037                         static float getMaxInhibitoryWeight(unsigned functionID);
00038                         static float getReward(unsigned functionID);
00039                         static void print(unsigned functionID);
00040 
00041                 private:
00042                         //=====================  VARIABLES  ====================
00045                         static unsigned STANDARD_STDP;
00046                         static unsigned STEP_STDP;
00047 
00049                         static QHash<unsigned, AbstractSTDPFunction*> functionMap;
00050 
00052                         static bool initialized;
00053 
00054                         //=====================  METHODS  ======================
00055                         static void checkFunctionID(unsigned functionID);
00056                         static void checkInitialization();
00057                         static void initialize();
00058         };
00059 
00060 
00061 }
00062 
00063 
00064 #endif//STDPFUNCTIONS_H
00065 
 All Classes Files Functions Variables Typedefs Defines