AnalogPointNeuron Class Reference

This class implements a neuron which just adds up all its inputs (synapses and analog messages) in a linear fashion. More...

#include <AnalogPointNeuron.h>

Inheritance diagram for AnalogPointNeuron:

Inheritance graph
[legend]
Collaboration diagram for AnalogPointNeuron:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AnalogPointNeuron ()
virtual ~AnalogPointNeuron ()
virtual double getAnalogOutput (analog_port_id_t port=0) const
 Return the analog value currently associated with the given port.
virtual void setAnalogInput (double i, analog_port_id_t port=0)
 Analog input to given port.
virtual int advance (AdvanceInfo const &)
 Calculate the next state and output/propagate the result to succesors/outgoing objects.
virtual int reset (double dt)
 Called at the beginning of a simulation at t=0.
virtual double getManagedDelay () const
virtual int nSpikeInputPorts () const
virtual int nSpikeOutputPorts () const
virtual int nAnalogInputPorts () const
virtual int nAnalogOutputPorts () const
virtual PortType outputPortType (port_t o) const
virtual PortType inputPortType (port_t i) const
virtual void clearSynapticInput (void)
virtual void currentInput (double i)
virtual void conductanceInput (double g, double Erev)

Public Attributes

double Vm
 The analog output (potential) of this neuron [readonly; units=V;].
double Inoise
 The noise of analog neurons [readwrite; units=A^2;].
double Iinject
 Constant current injection [readwrite; units=A^2;].
double Rm
 The membrane resistance.

Protected Attributes

double Isyn
double Gsyn

Static Protected Attributes

static
ThreadSpecificRandomDistribution
< NormalDistribution
noise
 Random number generator for the noise.


Detailed Description

This class implements a neuron which just adds up all its inputs (synapses and analog messages) in a linear fashion.

This class is inteden to be used as the base class for all "artificial" analog neuron types.

If there are no Conductance based synapses the output $Vm$ is given by

\[ Vm = Rm * ( Isyn + Iinject + noise ) \]

If there are conductance based synapses the output $Vm$ is given by

\[ Vm = ( Isyn + Iinject + noise ) / ( Gsyn + 1 / Rm ) \]

$fIsyn$ is the total synaptic input \$fGsyn$ is the total amount of conductance supplied by the conductance based synapses $Iinject$ is some constant base current injection $noise$ is a gaussian random variable with a standard deviation of Inoise $Rm$ is the membrane resistance (which acts just as a scaling factor in this case

Definition at line 26 of file AnalogPointNeuron.h.


Constructor & Destructor Documentation

AnalogPointNeuron::AnalogPointNeuron (  ) 

Definition at line 6 of file AnalogPointNeuron.cpp.

AnalogPointNeuron::~AnalogPointNeuron (  )  [virtual]

Definition at line 10 of file AnalogPointNeuron.cpp.


Member Function Documentation

virtual double AnalogPointNeuron::getAnalogOutput ( analog_port_id_t  port = 0  )  const [inline, virtual]

Return the analog value currently associated with the given port.

Reimplemented from SimObject.

Definition at line 44 of file AnalogPointNeuron.h.

References Vm.

virtual void AnalogPointNeuron::setAnalogInput ( double  value,
analog_port_id_t  port = 0 
) [inline, virtual]

Analog input to given port.

Reimplemented from SimObject.

Definition at line 49 of file AnalogPointNeuron.h.

References Isyn.

virtual int AnalogPointNeuron::advance ( AdvanceInfo const &   )  [inline, virtual]

Calculate the next state and output/propagate the result to succesors/outgoing objects.

The return value of advance contains several bits of information which can be decoded with the bit masks ADVANCEFLAG_* like ADVANCEFLAG_HASSPIKED and ADVANCEFLAG_DEACTIVATE.

Reimplemented from SimObject.

Definition at line 54 of file AnalogPointNeuron.h.

References clearSynapticInput(), Gsyn, Iinject, Inoise, Isyn, noise, Rm, and Vm.

Referenced by reset().

Here is the call graph for this function:

virtual int AnalogPointNeuron::reset ( double  dt  )  [inline, virtual]

Called at the beginning of a simulation at t=0.

Reimplemented from SimObject.

Definition at line 66 of file AnalogPointNeuron.h.

References advance(), clearSynapticInput(), noise, Time::sec(), and ThreadSpecificRandomDistribution< Dist >::set().

Here is the call graph for this function:

virtual double AnalogPointNeuron::getManagedDelay (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 74 of file AnalogPointNeuron.h.

virtual int AnalogPointNeuron::nSpikeInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 75 of file AnalogPointNeuron.h.

virtual int AnalogPointNeuron::nSpikeOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 76 of file AnalogPointNeuron.h.

virtual int AnalogPointNeuron::nAnalogInputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 77 of file AnalogPointNeuron.h.

References MAX_PORT_NUMBER.

virtual int AnalogPointNeuron::nAnalogOutputPorts (  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 78 of file AnalogPointNeuron.h.

virtual PortType AnalogPointNeuron::outputPortType ( port_t  o  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 80 of file AnalogPointNeuron.h.

References SimObject::analog, and SimObject::undefined.

virtual PortType AnalogPointNeuron::inputPortType ( port_t  i  )  const [inline, virtual]

Reimplemented from SimObject.

Definition at line 85 of file AnalogPointNeuron.h.

References SimObject::analog.

void AnalogPointNeuron::clearSynapticInput ( void   )  [inline, virtual]

Definition at line 104 of file AnalogPointNeuron.h.

References Gsyn, and Isyn.

Referenced by advance(), and reset().

void AnalogPointNeuron::currentInput ( double  i  )  [inline, virtual]

Reimplemented from CurrentInputTarget.

Definition at line 109 of file AnalogPointNeuron.h.

References Isyn.

void AnalogPointNeuron::conductanceInput ( double  g,
double  Erev 
) [inline, virtual]

Reimplemented from ConductanceInputTarget.

Definition at line 114 of file AnalogPointNeuron.h.

References Gsyn, and Isyn.


Member Data Documentation

The analog output (potential) of this neuron [readonly; units=V;].

Definition at line 33 of file AnalogPointNeuron.h.

Referenced by advance(), and getAnalogOutput().

The noise of analog neurons [readwrite; units=A^2;].

Definition at line 36 of file AnalogPointNeuron.h.

Referenced by advance(), and LinearNeuron::LinearNeuron().

Constant current injection [readwrite; units=A^2;].

Definition at line 39 of file AnalogPointNeuron.h.

Referenced by advance(), and LinearNeuron::LinearNeuron().

The membrane resistance.

Definition at line 42 of file AnalogPointNeuron.h.

Referenced by advance(), and LinearNeuron::LinearNeuron().

Definition at line 97 of file AnalogPointNeuron.h.

Referenced by advance(), clearSynapticInput(), and conductanceInput().

Random number generator for the noise.

Definition at line 100 of file AnalogPointNeuron.h.

Referenced by advance(), and reset().


The documentation for this class was generated from the following files:

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