00001 #ifndef _CENTERNEURON_H 00002 #define _CENTERNEURON_H 00003 00004 #include "Neuron.h" 00005 00006 namespace annie 00007 { 00008 00018 class CenterNeuron : public Neuron 00019 { 00020 protected: 00022 real *_center; 00023 00025 int _dimension; 00026 00028 virtual void _recacheOutput() const; 00029 00031 virtual void _recacheError() const; 00032 00037 ActivationFunction _dActivationFunction; 00038 00039 public: 00045 CenterNeuron(int label, int dimension); 00046 00051 CenterNeuron(int label, Vector center); 00052 00058 CenterNeuron(int label, int dimension, real center[]); 00059 virtual ~CenterNeuron(); 00060 00062 Vector getCenter() const; 00063 00065 virtual void setCenter(Vector center); 00066 00068 virtual void setCenter(real center[]); 00069 00071 virtual void connect(Neuron *from); 00072 00074 virtual operator std::string() const; 00075 00077 virtual const char *getClassName() const; 00078 00084 virtual void setActivationFunction(ActivationFunction f, ActivationFunction df); 00085 00087 virtual uint getDimension() const; 00088 }; 00089 00090 }; //namespace annie 00091 #endif // define _CENTERNEURON_H 00092