DARecvLifNeuron.h

Go to the documentation of this file.
00001 #ifndef DARecvLIFNEURON_H_
00002 #define DARecvLIFNEURON_H_
00003 
00004 #include "LifNeuron.h"
00005 #include "DopamineReceiver.h"
00006 
00007 class DARecvLifNeuron : public LifNeuron, public DopamineReceiver
00008 {
00009 
00010     SIMOBJECT( DARecvLifNeuron, AdvancePhase::One )
00011 
00012 public:
00013 
00014     DARecvLifNeuron( float Rm = 1e6,
00015                float Cm       = 3e-8,
00016                float Vresting =-0.06,
00017                float Vthresh  =-0.045,
00018                float Vreset   =-0.06,
00019                float Vinit    =-0.06,
00020                float Trefract = 3e-3,
00021                float Inoise   = 0.0,
00022                float Iinject  = 0.0 ) :
00023             LifNeuron( Rm, Cm, Vresting, Vthresh, Vreset, Vinit, Trefract, Inoise, Iinject )
00024     {
00025         /* NOOP */
00026     }
00027 
00028     virtual ~DARecvLifNeuron()
00029     {
00030         /* NOOP */
00031     }
00032     
00033     virtual int nAnalogInputPorts() const { return 1; };
00034     
00035     virtual PortType inputPortType(port_t i) const
00036     {
00037         if (i == 0) return analog ; else return undefined;
00038     };
00039     
00040     virtual void setAnalogInput(double i, analog_port_id_t port = 0)
00041     {
00042         DA_concentration = i;
00043     }
00044 
00045 };
00046 
00047 class DARecvCbLifNeuron : public CbLifNeuron, public DopamineReceiver
00048 {
00049 
00050     SIMOBJECT( DARecvCbLifNeuron, AdvancePhase::One )
00051 
00052 public: 
00053     DARecvCbLifNeuron( float Rm = 1e6,
00054                float Cm       = 3e-8,
00055                float Vresting =-0.06,
00056                float Vthresh  =-0.045,
00057                float Vreset   =-0.06,
00058                float Vinit    =-0.06,
00059                float Trefract = 3e-3,
00060                float Inoise   = 0.0,
00061                float Iinject  = 0.0 ) :
00062             CbLifNeuron( Rm, Cm, Vresting, Vthresh, Vreset, Vinit, Trefract, Inoise, Iinject )
00063     {
00064         /* NOOP */
00065     }
00066 
00067     virtual ~DARecvCbLifNeuron()
00068     {
00069         /* NOOP */
00070     }
00071     
00072     virtual int nAnalogInputPorts() const { return 1; };
00073     
00074     virtual PortType inputPortType(port_t i) const
00075     {
00076         if (i == 0) return analog ; else return undefined;
00077     };
00078     
00079     virtual void setAnalogInput(double i, analog_port_id_t port = 0)
00080     {
00081         DA_concentration = i;
00082     }
00083 
00084 };
00085 
00086 
00087 #endif /*DARecvLifNeuron_H_*/

Generated on Wed Jul 9 16:34:38 2008 for PCSIM by  doxygen 1.5.5