Main Page | Namespace List | Alphabetical List | Class List | Directories | File List | Class Members | File Members

Synapse Class Reference

#include <Synapse.h>

List of all members.

Public Member Functions

 Synapse ()
virtual ~Synapse ()
virtual const string * getDescription ()=0
virtual short getShortWeight ()=0
virtual double getWeight ()=0
virtual bool parametersChanged ()=0
virtual void processSpike ()=0
virtual void calculateFinalState ()=0
virtual string getMonitoringInfo ()
virtual MonitorData * getMonitoringData ()
unsigned int getPresynapticNeuronID ()
void print ()
void setWeight (double weight)

Protected Attributes

NeuronpostSynapticNeuron
unsigned int preSynapticNeuronID
double weight
SimulationClocksimulationClock
map< string, double > * parameterMap
MonitorData monitorData

Private Member Functions

void setParameterMapReference (map< string, double > *paramMap)
void setPostSynapticNeuron (Neuron *neuron)
void setPreSynapticNeuronID (unsigned int preSynNeurID)
void setSimulationClock (SimulationClock *simClock)

Friends

class SpikeStreamSimulation


Detailed Description

Base class inherited by all synapse classes This base class handles all the simulation related stuff. The modelling aspects, such as STDP learning etc. should be implemented by classes inheriting from this class.

NOTE getWeight() and getShortWeight() are virtual because there may need to be some retrospective calculations done on the weight to get its current value.

Definition at line 60 of file Synapse.h.


Constructor & Destructor Documentation

Synapse::Synapse  ) 
 

Construtor.

Definition at line 33 of file Synapse.cpp.

References monitorData.

Synapse::~Synapse  )  [virtual]
 

Destructor.

Definition at line 41 of file Synapse.cpp.


Member Function Documentation

virtual void Synapse::calculateFinalState  )  [pure virtual]
 

Called to update synapse class when all synapses are being updated at each time step. This method is never called during event based simulation, when the synapse class should be updated whenever it processes a spike.

virtual const string* Synapse::getDescription  )  [pure virtual]
 

Should return a descriptive name for the synapse. This is sometimes useful for debugging class loading.

Referenced by ClassLoader::getNewSynapse(), and ClassLoader::loadSynapseClasses().

MonitorData * Synapse::getMonitoringData  )  [virtual]
 

Returns a monitor data struct (defined in GlobalVariables.h) containing the data that is being monitored. This returned data must match that defined in the string returned by getMonitoringInfo().

Definition at line 55 of file Synapse.cpp.

References monitorData.

string Synapse::getMonitoringInfo  )  [virtual]
 

This method returns an string containing an XML description of the variables that are available for monitoring within this class. Overload this method and getMonitoringData() if you want to send monitoring information back to the main application. This will enable you to view a graph of the weight, for example.

Definition at line 62 of file Synapse.cpp.

unsigned int Synapse::getPresynapticNeuronID  ) 
 

Returns the id of the neuron that connects to this synapse from another task. This can be used to access the synapse from the synapse map.

Definition at line 73 of file Synapse.cpp.

References preSynapticNeuronID.

virtual short Synapse::getShortWeight  )  [pure virtual]
 

virtual double Synapse::getWeight  )  [pure virtual]
 

Should return the weight as a double between MIN_DOUBLE_WEIGHT and MAX_DOUBLE_WEIGHT. This is a virtual method because some implementations may need the state of the weight to be calculated retrospectively.

virtual bool Synapse::parametersChanged  )  [pure virtual]
 

Called when the parameters of the synapse have changed. The parameters of the synapses are held as references to parameter maps and when these are reloaded this method is called.

void Synapse::print  ) 
 

Prints out information about this synapse for debugging.

Definition at line 95 of file Synapse.cpp.

References Neuron::getNeuronID(), postSynapticNeuron, preSynapticNeuronID, and weight.

virtual void Synapse::processSpike  )  [pure virtual]
 

Called when a spike is routed to this synapse. In event based simulation the synapse should be updated by this method.

void Synapse::setParameterMapReference map< string, double > *  paramMap  )  [private]
 

Stores a reference to a map containing parameters for this synapse.

Definition at line 101 of file Synapse.cpp.

References parameterMap.

void Synapse::setPostSynapticNeuron Neuron neuron  )  [private]
 

Sets the neuron that this synapse connects to.

Definition at line 107 of file Synapse.cpp.

References postSynapticNeuron.

void Synapse::setPreSynapticNeuronID unsigned int  preSynNeurID  )  [private]
 

Sets the id of the neuron that connects to this synapse from another task. This can be used to access the synapse from the synapse map.

Definition at line 115 of file Synapse.cpp.

References preSynapticNeuronID.

void Synapse::setSimulationClock SimulationClock simClock  )  [private]
 

Passes a reference to the simulation clock.

Definition at line 123 of file Synapse.cpp.

References simulationClock.

Referenced by SpikeStreamSimulation::loadSynapses().

void Synapse::setWeight double  wei  ) 
 

Sets the weight of this synapse. Public to allow it to be dynamically modified.

Definition at line 80 of file Synapse.cpp.

References MAX_DOUBLE_WEIGHT, MIN_DOUBLE_WEIGHT, and weight.


Friends And Related Function Documentation

friend class SpikeStreamSimulation [friend]
 

Definition at line 120 of file Synapse.h.


Member Data Documentation

MonitorData Synapse::monitorData [protected]
 

Holds the monitoring data for the neuron.

Definition at line 146 of file Synapse.h.

Referenced by getMonitoringData(), and Synapse().

map<string, double>* Synapse::parameterMap [protected]
 

Reference to the map containing the parameters for each connection group.

Definition at line 143 of file Synapse.h.

Referenced by setParameterMapReference().

Neuron* Synapse::postSynapticNeuron [protected]
 

Holds a reference to the neuron that this synapse is connected to. This will be a class that inherits from the abstract Neuron class.

Definition at line 127 of file Synapse.h.

Referenced by print(), and setPostSynapticNeuron().

unsigned int Synapse::preSynapticNeuronID [protected]
 

Holds the preSynapticNeuronID to enable the neuron to change its weight by accessing the synapse map.

Definition at line 131 of file Synapse.h.

Referenced by getPresynapticNeuronID(), print(), and setPreSynapticNeuronID().

SimulationClock* Synapse::simulationClock [protected]
 

Reference to the simulation clock.

Definition at line 139 of file Synapse.h.

Referenced by setSimulationClock().

double Synapse::weight [protected]
 

The weight of the synapse. Stored as a double so that it can be used without casting in calculations.

Definition at line 135 of file Synapse.h.

Referenced by print(), and setWeight().


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 22:24:34 2007 for SpikeStream Simulation by  doxygen 1.4.4