Handles input from an axon of a remote neuron, firing to this synapsis. Handles the input broken-line Spike.
All synapses of a neuron are represented by an scSynapticConnect. The AbstractNeurer stores its synapses in an ordered list in AbstractNeurer::m_Synapses. An scSynapticConnect lives independently: it receives its one single Spike from the host AbstractNeurer, and integrates its input independently, storing its partial sum in the corresponding storage of the host AbstractNeurer. Also, it may trigger, independently, firing of the host AbstractNeurer.
Technically, a scSynapticConnect receives the information from its host that it should process a Spike. It will integrate the current described in the spike, adding the charge to the running sum in the AbstractNeurer. If the synaptic current (the average current divided by the time span of the step) exceeds a threshold value, the synapsis causes the host neurer to fire, idependently from its action potential.
Inherits sc_module.
Public Member Functions | |
void | Fire (void) |
The "saltatoric" fire: calls the parent's "Fire" process. | |
void | ProcessSpike (Spike &MySpike, uint16_t MyTimeFactor=THOUSAND, uint16_t MyAplitudeFactor=THOUSAND) |
Process a spike by this synapsis. More... | |
Public Attributes | |
struct { | |
sc_core::sc_event Fire | |
< The synapsis wanna send a message to the postsynaptic neuron | |
sc_core::sc_event Integrate | |
< A new portion of a synaptic event appeared | |
} | EVENT_SYNAPSIS |
These events are handled at abstract processor level. | |
Protected Attributes | |
uint16_t | mAplitudeFactor |
Scale factors for the spike table. | |
int16_t | mLastCurrent |
Last synaptic current, in pA; Limits to +/- 32 nA. | |
uint16_t | mLastTime |
Time since the beginning of the spike, in usec; Limits to 65 msec. | |
AbstractNeurer * | mReceiver |
The other end of the connection. | |
AbstractNeurer * | mSender |
the AbstractNeurer (i.e., a scHThread) we work for | |
Spike * | mSpike |
Pointer to the spike table. | |
int16_t | mSpikeIndex |
Running index to the spike table. | |
uint16_t | mWeight |
Its weight; in units of THOUSAND. | |
void scSynapticConnect::ProcessSpike | ( | Spike & | MySpike, |
uint16_t | MyTimeFactor = THOUSAND , |
||
uint16_t | MyAplitudeFactor = THOUSAND |
||
) |
Process a spike by this synapsis.
[in] | MySpike | pointer to the table of the Spike |
[in] | MyTimeFactor | the time values from the table shall be multiplied by this/THOUSAND |
[in] | MyAplitudeFactor | the amplitude values from the table shall be multiplied by this/THOUSAND |