00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ALPHANEURON_H
00018 #define ALPHANEURON_H
00019
00020 #include <amygdala/neuron.h>
00021 #include <amygdala/network.h>
00022
00048 class AlphaNeuron : public Neuron {
00049 public:
00052 AlphaNeuron(AmIdInt neuronId);
00053
00054 virtual ~AlphaNeuron();
00055
00064 virtual float* InitializeLookupTable(int index);
00065
00074 virtual float* GetTableParams(int index, int& numParams);
00075
00077 virtual const char* ClassId() { return "AlphaNeuron"; }
00078
00079 protected:
00080
00093 virtual void InputSpike(SynapseItr& inSynapse,
00094 AmTimeInt inTime,
00095 unsigned int numSyn = 0);
00096
00103 virtual int SetLookupTables(FunctionLookup* funcRef);
00104
00113 virtual void SetMaxScaledWeight();
00114
00115 float* epspLookup;
00116 float* edPspLookup;
00117 float* ipspLookup;
00118 float* idPspLookup;
00119
00120 private:
00121 unsigned int refPeriod;
00122 bool eTblFilled;
00123 bool iTblFilled;
00124 };
00125
00126 #endif