00001 #ifndef DARECVLINEARPOISSONNEURON_H_
00002 #define DARECVLINEARPOISSONNEURON_H_
00003
00004 #include "LinearPoissonNeuron.h"
00005 #include "DopamineReceiver.h"
00006
00007 class DARecvLinearPoissonNeuron : public LinearPoissonNeuron, public DopamineReceiver
00008 {
00009
00010 SIMOBJECT( DARecvLinearPoissonNeuron, AdvancePhase::One )
00011
00012 public:
00013
00014 DARecvLinearPoissonNeuron( float C = 1,
00015 float Rm = 1e8,
00016 float Trefract = 3e-3,
00017 float Inoise = 0.0,
00018 float Iinject = 0.0 ) :
00019 LinearPoissonNeuron( C, Rm, Trefract, Inoise, Iinject )
00020 {
00021
00022 }
00023
00024 virtual ~DARecvLinearPoissonNeuron()
00025 {
00026
00027 }
00028
00029 virtual int nAnalogInputPorts() const { return 1; };
00030
00031 virtual PortType inputPortType(port_t i) const
00032 {
00033 if (i == 0) return analog ; else return undefined;
00034 };
00035
00036 virtual void setAnalogInput(double i, analog_port_id_t port = 0)
00037 {
00038 DA_concentration = i;
00039 }
00040
00041 };
00042
00043 #endif