MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <STDPSynHandler.h>
Public Member Functions | |
void | addPostSpike (const Eref &e, double time) |
void | addSpike (unsigned int index, double time, double weight) |
unsigned int | addSynapse () |
Adds a new synapse, returns its index. More... | |
void | dropSynapse (unsigned int droppedSynNumber) |
double | getAMinus () const |
double | getAMinus0 () const |
double | getAPlus0 () const |
double | getTauMinus () const |
double | getTauPlus () const |
double | getTopSpike (unsigned int index) const |
double | getWeightMax () const |
double | getWeightMin () const |
STDPSynHandler & | operator= (const STDPSynHandler &other) |
void | setAMinus (double v) |
void | setAMinus0 (double v) |
void | setAPlus0 (double v) |
void | setTauMinus (double v) |
void | setTauPlus (double v) |
void | setWeightMax (double v) |
void | setWeightMin (double v) |
STDPSynHandler () | |
unsigned int | vGetNumSynapses () const |
STDPSynapse * | vGetSynapse (unsigned int i) |
void | vProcess (const Eref &e, ProcPtr p) |
void | vReinit (const Eref &e, ProcPtr p) |
void | vSetNumSynapses (unsigned int num) |
~STDPSynHandler () | |
![]() | |
unsigned int | getNumSynapses () const |
Synapse * | getSynapse (unsigned int i) |
void | process (const Eref &e, ProcPtr p) |
bool | rangeWarning (const string &field, double value) |
void | reinit (const Eref &e, ProcPtr p) |
void | setNumSynapses (unsigned int num) |
SynHandlerBase () | |
virtual | ~SynHandlerBase () |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
![]() | |
static SrcFinfo1< double > * | activationOut () |
static const Cinfo * | initCinfo () |
Private Attributes | |
double | aMinus0_ |
double | aMinus_ |
double | aPlus0_ |
priority_queue< PreSynEvent, vector< PreSynEvent > , CompareSynEvent > | events_ |
priority_queue< PostSynEvent, vector< PostSynEvent > , ComparePostSynEvent > | postEvents_ |
vector< STDPSynapse > | synapses_ |
double | tauMinus_ |
double | tauPlus_ |
double | weightMax_ |
double | weightMin_ |
This handles simple synapses without plasticity. It uses a priority queue to manage them. This gets inefficient for large numbers of synapses but is pretty robust.
Definition at line 61 of file STDPSynHandler.h.
STDPSynHandler::STDPSynHandler | ( | ) |
Definition at line 132 of file STDPSynHandler.cpp.
References aMinus0_, aMinus_, aPlus0_, tauMinus_, tauPlus_, weightMax_, and weightMin_.
STDPSynHandler::~STDPSynHandler | ( | ) |
Definition at line 143 of file STDPSynHandler.cpp.
void STDPSynHandler::addPostSpike | ( | const Eref & | e, |
double | time | ||
) |
Definition at line 200 of file STDPSynHandler.cpp.
References postEvents_.
Referenced by initCinfo().
|
virtual |
Record arrival of a new spike event. The 'time' is time for eventual arrival of the spike, and is typically well in the future. The index specifies which synapse the spike came to.
Implements SynHandlerBase.
Definition at line 186 of file STDPSynHandler.cpp.
References events_, and synapses_.
|
virtual |
Adds a new synapse, returns its index.
Implements SynHandlerBase.
Definition at line 304 of file STDPSynHandler.cpp.
References synapses_.
|
virtual |
Drops an existing synapse, triggered by deleteMsg of an input to the child synapse. This is a little messy because we can't change the indices of the other synapses. The Handler has to figure out how to handle the 'holes' in its array of synapses.
Implements SynHandlerBase.
Definition at line 313 of file STDPSynHandler.cpp.
References synapses_.
double STDPSynHandler::getAMinus | ( | ) | const |
Definition at line 334 of file STDPSynHandler.cpp.
References aMinus_.
Referenced by initCinfo().
double STDPSynHandler::getAMinus0 | ( | ) | const |
Definition at line 324 of file STDPSynHandler.cpp.
References aMinus0_.
Referenced by initCinfo().
double STDPSynHandler::getAPlus0 | ( | ) | const |
Definition at line 355 of file STDPSynHandler.cpp.
References aPlus0_.
Referenced by initCinfo().
double STDPSynHandler::getTauMinus | ( | ) | const |
Definition at line 345 of file STDPSynHandler.cpp.
References tauMinus_.
Referenced by initCinfo().
double STDPSynHandler::getTauPlus | ( | ) | const |
Definition at line 366 of file STDPSynHandler.cpp.
References tauPlus_.
Referenced by initCinfo().
|
virtual |
Implements SynHandlerBase.
Definition at line 193 of file STDPSynHandler.cpp.
References events_.
double STDPSynHandler::getWeightMax | ( | ) | const |
Definition at line 376 of file STDPSynHandler.cpp.
References weightMax_.
Referenced by initCinfo().
double STDPSynHandler::getWeightMin | ( | ) | const |
Definition at line 386 of file STDPSynHandler.cpp.
References weightMin_.
Referenced by initCinfo().
|
static |
Definition at line 18 of file STDPSynHandler.cpp.
References addPostSpike(), getAMinus(), getAMinus0(), getAPlus0(), SynHandlerBase::getNumSynapses(), SynHandlerBase::getSynapse(), getTauMinus(), getTauPlus(), getWeightMax(), getWeightMin(), STDPSynapse::initCinfo(), SynHandlerBase::initCinfo(), setAMinus(), setAMinus0(), setAPlus0(), SynHandlerBase::setNumSynapses(), setTauMinus(), setTauPlus(), setWeightMax(), setWeightMin(), and synHandlerCinfo.
STDPSynHandler & STDPSynHandler::operator= | ( | const STDPSynHandler & | other | ) |
Definition at line 146 of file STDPSynHandler.cpp.
References events_, postEvents_, and synapses_.
void STDPSynHandler::setAMinus | ( | double | v | ) |
Definition at line 329 of file STDPSynHandler.cpp.
References aMinus_.
Referenced by initCinfo().
void STDPSynHandler::setAMinus0 | ( | double | v | ) |
Definition at line 319 of file STDPSynHandler.cpp.
References aMinus0_.
Referenced by initCinfo().
void STDPSynHandler::setAPlus0 | ( | double | v | ) |
Definition at line 350 of file STDPSynHandler.cpp.
References aPlus0_.
Referenced by initCinfo().
void STDPSynHandler::setTauMinus | ( | double | v | ) |
Definition at line 339 of file STDPSynHandler.cpp.
References SynHandlerBase::rangeWarning(), and tauMinus_.
Referenced by initCinfo().
void STDPSynHandler::setTauPlus | ( | double | v | ) |
Definition at line 360 of file STDPSynHandler.cpp.
References SynHandlerBase::rangeWarning(), and tauPlus_.
Referenced by initCinfo().
void STDPSynHandler::setWeightMax | ( | double | v | ) |
Definition at line 371 of file STDPSynHandler.cpp.
References weightMax_.
Referenced by initCinfo().
void STDPSynHandler::setWeightMin | ( | double | v | ) |
Definition at line 381 of file STDPSynHandler.cpp.
References weightMin_.
Referenced by initCinfo().
|
virtual |
|
virtual |
Implements SynHandlerBase.
Definition at line 176 of file STDPSynHandler.cpp.
References dummy, and synapses_.
Implements SynHandlerBase.
Definition at line 205 of file STDPSynHandler.cpp.
References SynHandlerBase::activationOut(), aMinus0_, aMinus_, aPlus0_, ProcInfo::currTime, ProcInfo::dt, events_, STDPSynapse::getAPlus(), Synapse::getWeight(), postEvents_, STDPSynapse::setAPlus(), Synapse::setWeight(), synapses_, PreSynEvent::synIndex, tauMinus_, tauPlus_, SynEvent::weight, weightMax_, and weightMin_.
Implements SynHandlerBase.
Definition at line 295 of file STDPSynHandler.cpp.
References events_, and postEvents_.
|
virtual |
|
private |
Definition at line 110 of file STDPSynHandler.h.
Referenced by getAMinus0(), setAMinus0(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 109 of file STDPSynHandler.h.
Referenced by getAMinus(), setAMinus(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 112 of file STDPSynHandler.h.
Referenced by getAPlus0(), setAPlus0(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 107 of file STDPSynHandler.h.
Referenced by addSpike(), getTopSpike(), operator=(), vProcess(), and vReinit().
|
private |
Definition at line 108 of file STDPSynHandler.h.
Referenced by addPostSpike(), operator=(), vProcess(), and vReinit().
|
private |
Definition at line 106 of file STDPSynHandler.h.
Referenced by addSpike(), addSynapse(), dropSynapse(), operator=(), vGetNumSynapses(), vGetSynapse(), vProcess(), and vSetNumSynapses().
|
private |
Definition at line 111 of file STDPSynHandler.h.
Referenced by getTauMinus(), setTauMinus(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 113 of file STDPSynHandler.h.
Referenced by getTauPlus(), setTauPlus(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 114 of file STDPSynHandler.h.
Referenced by getWeightMax(), setWeightMax(), STDPSynHandler(), and vProcess().
|
private |
Definition at line 115 of file STDPSynHandler.h.
Referenced by getWeightMin(), setWeightMin(), STDPSynHandler(), and vProcess().