SpikeStream Nemo Plugin
0.2
|
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