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

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

#include <dneuron.h>

Inheritance diagram for punnets_private::tneuron_ext< debug >:

punnets_common::tneuron_base punnets_common::taction List of all members.

Public Methods

 tneuron_ext (std::string iname="", real sig_hv_period=1.0)
 Construct a tneuron_ext class with the specified name and signal half-value period.

virtual real getCurrentSigLevel (ntime_t current_time)
 Get the current signal level.

virtual real getCurrentThrLevel (ntime_t)
 Get the current threshold level, which is always 0.0.

virtual void pulseArrive (tscheduler &scheduler, ntime_t current_time, real pulse_level)
 Process the pulse arrival to this neuron.

virtual void pulseArrive (tscheduler &scheduler, ntime_t current_time, message_base *mess)
 Process the message arrival to this neuron.

virtual void pulseArrive (tscheduler &scheduler, ntime_t current_time, func_base *func)
 Process the function arrival to this neuron.

virtual void addSynapse (tsynapse_base *s)
 Add an incoming synapse to this neuron.

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

virtual void addExt (func_base *s)
 Add an external function to this neuron.

virtual ntime_t getLastFire () const
 This function returns the last time that the neuron fired. Used in STDP and such.

virtual ntime_t getLastSimulate () const
 This function returns the last time that the neuron has been simulated.

virtual int getLastSimulateType () const
 This function returns the type of the last simulation (0th/1st/2nd and so on).

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

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

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

virtual tqueue * queue () const
 Get the queue object of this neuron.

void setLoopBack (tscheduler &scheduler, ntime_t schedule_time)

Protected Methods

void fire (tscheduler &scheduler, ntime_t current_time)
 Process firing at the specified time.

real calcSignal (ntime_t current_time)
 Calculate the power of signal at the specified time.

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

bool sendMessage (ntime_t t, message_base *mess)
 Send the message to a function.

bool broadcastMessage (ntime_t t, message_base *mess)
 Send the message to all the functions.


Protected Attributes

std::vector< tsynapse_base * > synapses
 A collection of incoming synapses.

std::vector< func_base * > exts
 A collection of functions.

func_delta_int * pulses
 A pulse function to support tsynapse.

ntime_t last_simulate
 Last simulation time, only for simulate-logging.

ntime_t last_fire
 Last firing time.

ntime_t loopback
 Loopback time. It is used to check the loopback time changes,.

real lambda
 The decaying coefficient for the inputs.

int last_simulate_type
 The last simulation type, only for simulate-logging.


Detailed Description

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

The extended neuron class. This class of neurons calculates the potential as a sum of functions. You can specify arbitrary functions, if you can provide the linear envelopes of the function and 1st/2nd derivatives.

Definition at line 604 of file dneuron.h.


Member Function Documentation

template<bool debug>
void punnets_private::tneuron_ext< debug >::setLoopBack tscheduler &    scheduler,
ntime_t    schedule_time
[inline]
 

Specify the loopback at the time. If the time is infinity, the loopback is cancelled. This method is public because the loopback is explicitly set.

Definition at line 718 of file dneuron.h.

References punnets_common::ntime_t.

Referenced by punnets_private::tneuron_ext< debug >::scheduleFire().

00719     {
00720         loopback = schedule_time;
00721         if( schedule_time < mak::Infinity )
00722             scheduler.scheduleEvent( schedule_time, *this );
00723     }


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