Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

initializer.h

Go to the documentation of this file.
00001 
00025 #ifndef __INITIALIZER_H__
00026 #define __INITIALIZER_H__
00027 
00028 #include <magic/mobject.h>
00029 #include "annetwork.h"
00030 
00033 class NeuronInitializer : public Object {
00034   public:
00035                     NeuronInitializer   () {}
00036                     NeuronInitializer   (const NeuronInitializer& orig) {}
00037 
00041     virtual void    initialize          (Neuron& neuron)=0;
00042 
00046     virtual NeuronInitializer*  clone   () const {MUST_OVERLOAD; return NULL;}
00047 
00048   private:
00049     void operator= (const NeuronInitializer& orig) {FORBIDDEN}
00050     decl_dynamic (NeuronInitializer);
00051 };
00052 
00055 class GaussianInitializer : public NeuronInitializer {
00056   public:
00057 
00062                     GaussianInitializer (double r=0.5) : mR (r) {}
00063                     GaussianInitializer (const GaussianInitializer& orig) : mR (orig.mR) {}
00064 
00068     void            initialize          (Neuron& neuron) {
00069         neuron.init (mR);
00070     }
00071     
00073     virtual GaussianInitializer* clone  () const {return new GaussianInitializer (*this);}
00074     
00075   private:
00076     double  mR;
00077 
00078     void operator= (const GaussianInitializer& orig) {FORBIDDEN}
00079     decl_dynamic (GaussianInitializer);
00080 };
00081 
00084 class DummyInitializer : public NeuronInitializer {
00085   public:
00086                     DummyInitializer    () {}
00087                     DummyInitializer    (const DummyInitializer& orig) {}
00088 
00091     void            initialize          (Neuron& neuron) {}
00092 
00094     virtual DummyInitializer* clone     () const {return new DummyInitializer (*this);}
00095   private:
00096 
00097     void operator= (const DummyInitializer& orig) {FORBIDDEN}
00098     decl_dynamic (DummyInitializer);
00099 };
00100 
00101 #endif
00102 

Generated on Thu Feb 10 20:06:44 2005 for Inanna by doxygen1.2.18