60 void finalize(
const bool )
override;
83 template <
typename GrowthCurve >
104 const std::vector< Dictionary >& syn_specs );
118 void disconnect(
const size_t snode_id,
Node* target,
size_t target_thread,
const size_t syn_id );
159 std::vector< int >& pre_vacant_n,
160 std::vector< size_t >& post_vacant_id,
161 std::vector< int >& post_vacant_n,
165 std::vector< int >& pre_deleted_n,
166 const size_t synapse_model,
167 const std::string& se_pre_name,
168 const std::string& se_post_name );
171 std::vector< int >& post_deleted_n,
172 size_t synapse_model,
173 std::string se_pre_name,
174 std::string se_post_name );
176 void delete_synapse(
size_t source,
size_t target,
long syn_id, std::string se_pre_name, std::string se_post_name );
179 std::vector< size_t >& se_vacant_id,
180 std::vector< int >& se_vacant_n,
181 std::vector< size_t >& se_deleted_id,
182 std::vector< int >& se_deleted_n );
184 void serialize_id( std::vector< size_t >&
id, std::vector< int >& n, std::vector< size_t >& res );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
T get(const std::string &key) const
Get the value at key in the specified type.
Definition dictionary.h:710
Defines the way the number of synaptic elements changes through time according to the calcium concent...
Definition growth_curve.h:50
Interface for kernel manager classes.
Definition manager_interface.h:46
Base class for all NEST network objects.
Definition node.h:99
Definition conn_builder.h:773
The SPManager class is in charge of managing the dynamic creation and deletion of synapses in the sim...
Definition sp_manager.h:53
void initialize(const bool) override
Prepare manager for operation.
Definition sp_manager.cpp:55
void get_synaptic_elements(std::string se_name, std::vector< size_t > &se_vacant_id, std::vector< int > &se_vacant_n, std::vector< size_t > &se_deleted_id, std::vector< int > &se_deleted_n)
Definition sp_manager.cpp:562
long builder_max_delay() const
Returns the maximum delay of all SP builders.
Definition sp_manager.cpp:184
bool structural_plasticity_enabled_
Indicates whether the Structrual Plasticity functionality is On (True) of Off (False).
Definition sp_manager.h:197
double get_structural_plasticity_update_interval() const
Definition sp_manager.h:222
std::vector< SPBuilder * > sp_conn_builders_
Definition sp_manager.h:198
~SPManager() override
Definition sp_manager.cpp:50
void register_growth_curve(const std::string &name)
Add a growth curve for MSP.
Definition sp_manager_impl.h:40
void delete_synapses_from_post(std::vector< size_t > &post_deleted_id, std::vector< int > &post_deleted_n, size_t synapse_model, std::string se_pre_name, std::string se_post_name)
Definition sp_manager.cpp:515
void disconnect(NodeCollectionPTR sources, NodeCollectionPTR targets, const Dictionary &conn_spec, const std::vector< Dictionary > &syn_specs)
Disconnect two collections of nodes.
Definition sp_manager.cpp:238
SPManager()
Definition sp_manager.cpp:40
bool create_synapses(std::vector< size_t > &pre_vacant_id, std::vector< int > &pre_vacant_n, std::vector< size_t > &post_vacant_id, std::vector< int > &post_vacant_n, SPBuilder *sp_conn_builder)
Definition sp_manager.cpp:407
bool is_structural_plasticity_enabled() const
Definition sp_manager.h:216
void update_structural_plasticity()
Definition sp_manager.cpp:319
void serialize_id(std::vector< size_t > &id, std::vector< int > &n, std::vector< size_t > &res)
Definition sp_manager.cpp:624
long builder_min_delay() const
Returns the minimum delay of all SP builders.
Definition sp_manager.cpp:170
Dictionary growthcurvedict_
Dictionary for growth rules.
Definition sp_manager.h:205
std::vector< GenericGrowthCurveFactory * > growthcurve_factories_
GrowthCurve factories, indexed by growthcurvedict_ elements.
Definition sp_manager.h:203
void enable_structural_plasticity()
Enable structural plasticity.
Definition sp_manager.cpp:643
GrowthCurve * new_growth_curve(std::string name)
Create a new Growth Curve object using the GrowthCurve Factory.
Definition sp_manager.h:209
void finalize(const bool) override
Take down manager after operation.
Definition sp_manager.cpp:70
void get_status(Dictionary &) override
Retrieve the status of the manager.
Definition sp_manager.cpp:90
void set_status(const Dictionary &) override
Set status of synaptic plasticity variables: synaptic update interval, synapses and synaptic elements...
Definition sp_manager.cpp:119
double structural_plasticity_update_interval_
Time interval for structural plasticity update (creation/deletion of synapses).
Definition sp_manager.h:191
void disable_structural_plasticity()
Disable structural plasticity.
Definition sp_manager.cpp:665
void delete_synapses_from_pre(const std::vector< size_t > &pre_deleted_id, std::vector< int > &pre_deleted_n, const size_t synapse_model, const std::string &se_pre_name, const std::string &se_post_name)
Definition sp_manager.cpp:439
void delete_synapse(size_t source, size_t target, long syn_id, std::string se_pre_name, std::string se_post_name)
Definition sp_manager.cpp:483
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
std::shared_ptr< NodeCollection > NodeCollectionPTR
Definition node_collection.h:50