NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::SynapticElement Class Reference

Synaptic element of a node (axonal bouton or dendritic spine) for the purposes of structural plasticity. More...

#include <synaptic_element.h>

Collaboration diagram for nest::SynapticElement:
[legend]

Public Member Functions

 SynapticElement ()
 
 SynapticElement (const SynapticElement &se)
 
SynapticElement & operator= (const SynapticElement &other)
 
 ~SynapticElement ()
 
void get (Dictionary &d) const
 Store current values in a dictionary.
 
void set (const Dictionary &d)
 Set values from a dictionary.
 
void update (double t, double t_minus, double Ca_minus, double tau_Ca)
 Updates the number of available synaptic elements according to the mean calcium concentration of the neuron at time t.
 
int get_z_vacant () const
 Get the number of synaptic_element at the time t (in ms)
 
int get_z_connected () const
 Retrieves the current number of synaptic elements bound to a synapse.
 
double get_tau_vacant () const
 Retrieves the value of tau_vacant.
 
void connect (int n)
 Changes the number of bound synaptic elements by n.
 
void set_growth_curve (GrowthCurve &g)
 Used to define the dynamics of the synaptic elements using a Growth Curve.
 
double get_growth_rate () const
 Retrieves the current value of the growth rate.
 
void set_z (const double z_new)
 
double get_z () const
 
void decay_z_vacant ()
 Reduce the amount of vacant synaptic elements by a factor of tau_vacant_.
 
bool continuous () const
 

Private Attributes

double z_
 
double z_t_
 
int z_connected_
 
bool continuous_
 
double growth_rate_
 
double tau_vacant_
 
GrowthCurve * growth_curve_
 

Detailed Description

Synaptic element of a node (axonal bouton or dendritic spine) for the purposes of structural plasticity.

The synaptic elements represent connection points between two neurons that grow according to a homeostatic growth rule. Basically, the dynamics of the number of synaptic elements is driven by the average electrical activity of the neuron (indirectly measured through the Calcium concentration of the node). The probability of two neurons creating a new synapse between them, depends on the number of available synaptic elements of each neuron.

Constructor & Destructor Documentation

◆ SynapticElement() [1/2]

nest::SynapticElement::SynapticElement ( )

◆ SynapticElement() [2/2]

nest::SynapticElement::SynapticElement ( const SynapticElement &  se)

References get(), nest::GrowthCurve::get_name(), growth_curve_, nest::kernel(), nest::SPManager::new_growth_curve(), nest::GrowthCurve::set(), and nest::KernelManager::sp_manager.

Here is the call graph for this function:

◆ ~SynapticElement()

nest::SynapticElement::~SynapticElement ( )
inline

References growth_curve_.

Member Function Documentation

◆ connect()

void nest::SynapticElement::connect ( int  n)
inline

Changes the number of bound synaptic elements by n.

Parameters
nnumber of new connections. Can be negative.

References z_, and z_connected_.

◆ continuous()

bool nest::SynapticElement::continuous ( ) const
inline

References continuous_.

◆ decay_z_vacant()

void nest::SynapticElement::decay_z_vacant ( )
inline

Reduce the amount of vacant synaptic elements by a factor of tau_vacant_.

References get_z_vacant(), tau_vacant_, and z_.

Here is the call graph for this function:

◆ get()

void nest::SynapticElement::get ( Dictionary &  d) const

Store current values in a dictionary.

Parameters
dto write data

References nest::names::continuous(), continuous_, nest::GrowthCurve::get(), growth_curve_, nest::names::growth_rate(), growth_rate_, nest::names::tau_vacant(), tau_vacant_, nest::names::z(), z_, nest::names::z_connected(), and z_connected_.

Referenced by SynapticElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_growth_rate()

double nest::SynapticElement::get_growth_rate ( ) const
inline

Retrieves the current value of the growth rate.

References growth_rate_.

◆ get_tau_vacant()

double nest::SynapticElement::get_tau_vacant ( ) const
inline

Retrieves the value of tau_vacant.

References tau_vacant_.

◆ get_z()

double nest::SynapticElement::get_z ( ) const
inline

References z_.

◆ get_z_connected()

int nest::SynapticElement::get_z_connected ( ) const
inline

Retrieves the current number of synaptic elements bound to a synapse.

References z_connected_.

◆ get_z_vacant()

int nest::SynapticElement::get_z_vacant ( ) const
inline

Get the number of synaptic_element at the time t (in ms)

Returns a negative number when synaptic elements must be deleted during the next update

Parameters
anode of this synaptic_element
tCurrent time (in ms)

References z_, and z_connected_.

Referenced by decay_z_vacant().

Here is the caller graph for this function:

◆ operator=()

SynapticElement & nest::SynapticElement::operator= ( const SynapticElement &  other)
Parameters
otherSynapticElement

References continuous_, growth_curve_, growth_rate_, nest::kernel(), nest::SPManager::new_growth_curve(), nest::GrowthCurve::set(), nest::KernelManager::sp_manager, tau_vacant_, z_, z_connected_, and z_t_.

Here is the call graph for this function:

◆ set()

void nest::SynapticElement::set ( const Dictionary &  d)

Set values from a dictionary.

Parameters
dto take data from

References nest::names::continuous(), continuous_, nest::names::growth_curve(), growth_curve_, nest::names::growth_rate(), growth_rate_, nest::GrowthCurve::is(), nest::kernel(), nest::SPManager::new_growth_curve(), nest::GrowthCurve::set(), nest::KernelManager::sp_manager, nest::names::tau_vacant(), tau_vacant_, nest::names::z(), and z_.

Referenced by nest::StructuralPlasticityNode::set_status().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_growth_curve()

void nest::SynapticElement::set_growth_curve ( GrowthCurve &  g)
inline

Used to define the dynamics of the synaptic elements using a Growth Curve.

References growth_curve_.

◆ set_z()

void nest::SynapticElement::set_z ( const double  z_new)
inline

References z_.

◆ update()

void nest::SynapticElement::update ( double  t,
double  t_minus,
double  Ca_minus,
double  tau_Ca 
)

Updates the number of available synaptic elements according to the mean calcium concentration of the neuron at time t.

Parameters
tCurrent time (in ms)
t_minusTime of last update
Ca_minusCalcium concentration at time t_minus
tau_Cachange in the calcium concentration on each spike

References growth_curve_, growth_rate_, nest::GrowthCurve::update(), z_, and z_t_.

Here is the call graph for this function:

Member Data Documentation

◆ continuous_

bool nest::SynapticElement::continuous_
private

Referenced by continuous(), get(), operator=(), and set().

◆ growth_curve_

GrowthCurve* nest::SynapticElement::growth_curve_
private

◆ growth_rate_

double nest::SynapticElement::growth_rate_
private

◆ tau_vacant_

double nest::SynapticElement::tau_vacant_
private

◆ z_

double nest::SynapticElement::z_
private

◆ z_connected_

int nest::SynapticElement::z_connected_
private

◆ z_t_

double nest::SynapticElement::z_t_
private

Referenced by operator=(), and update().


The documentation for this class was generated from the following files: