Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

punnets_private::tneuron< debug > Class Template Reference
[Neurons]

#include <dneuron.h>

Inheritance diagram for punnets_private::tneuron< debug >:

punnets_common::tneuron_base punnets_common::taction punnets_private::tneuron_ext_const< debug > List of all members.

Public Methods

 tneuron (std::string iname="", ntime_t isig_hv_period=def_sig_hv_period, ntime_t ithr_hv_period=def_thr_hv_period, real imin_threshold=def_min_threshold, real imax_threshold=def_max_threshold)
virtual real getCurrentSigLevel (ntime_t current_time)
 Calculates the current signal level.

virtual real getCurrentThrLevel (ntime_t current_time)
 Calculates the current threshold level.

virtual void pulseArrive (tscheduler &scheduler, ntime_t current_time, real pulse_level)
 Processes the pulse arrival.

virtual void addSynapse (tsynapse_base *s)
 Add an synapse whose destination (post-synapse) is this neuron.

virtual void eraseSynapse (tsynapse_base *s)
 Remove an synapse from this neuron.

virtual ntime_t getLastFire () const
 Get the time of the last firing.

virtual ntime_t getLastSimulate () const
 Get the time of the last simulation.

virtual void activate (tscheduler &scheduler, ntime_t current_time)
 When activated as an event, it re-calculates its state and check firing.

virtual const char * getClassName () const
 Get the class name.

virtual tqueue * queue () const
 Get the pointer to the queue object.

const std::vector< tsynapse_base * > & getSynapses ()
 Get the vector of synapses.


Protected Methods

void simulateElapse (ntime_t current_time)
 This function simulates time elapse up to the specified time.

virtual void scheduleFire (tscheduler &scheduler, ntime_t current_time, bool resched=true)
 Schedule the next firing.


Protected Attributes

ntime_t sig_hv_period
 Signal half-value period.

ntime_t thr_hv_period
 Threshold half-value period.

real min_threshold
 Minimum threshold level.

real max_threshold
 Maximum threshold level just after one firing.

real coeff_sigdecay
 Signal decaying coefficient is calculated from the signal half-value period.

real coeff_thrdecay
 Threshold decaying coefficient is calculated from the threshold half-value period.


Static Protected Attributes

const real sig_converge_level = 0.0
 The converge level (resting potential) of this neuron.


Detailed Description

template<bool debug>
class punnets_private::tneuron< debug >

The class defines a leaky integrate-and-fire neuron with threshold change, which receives only immediate pulses. A neuron itself behaves as an action of an event. When the next firing is predicted, the action is scheduled at the predicted firing time (called `loopback'). When activated at a certain simulation time, the neuron re-calculates its state and process firing if necessary.

Definition at line 431 of file dneuron.h.


Constructor & Destructor Documentation

template<bool debug>
punnets_private::tneuron< debug >::tneuron std::string    iname = "",
ntime_t    isig_hv_period = def_sig_hv_period,
ntime_t    ithr_hv_period = def_thr_hv_period,
real    imin_threshold = def_min_threshold,
real    imax_threshold = def_max_threshold
 

Construct a neuron with the specified name, signal half-value period, threshold half-value period, minimum threshold and maximum threshold.

Definition at line 122 of file dneuron.cpp.

References punnets_common::ntime_t, and punnets_common::real.

00127         : tneuron_base(iname), 
00128           sig_level(0.0), last_simulate(0.0), last_fire(0.0),
00129           sig_hv_period(isig_hv_period), thr_hv_period(ithr_hv_period),
00130           min_threshold(imin_threshold), max_threshold(imax_threshold),
00131           coeff_sigdecay(- M_LN2 / isig_hv_period), 
00132           coeff_thrdecay( - M_LN2 / ithr_hv_period )
00133 { }


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:42:29 2003 for Punnets by doxygen1.2.18