44template <
typename ElementT >
48 GenericModel(
const std::string&,
const std::string& deprecation_info );
58 Model*
clone(
const std::string& )
const override;
121template <
typename ElementT >
125 , deprecation_info_( deprecation_info )
126 , deprecation_warning_issued_( false )
131template <
typename ElementT >
134 , proto_( oldmod.proto_ )
135 , deprecation_info_( oldmod.deprecation_info_ )
136 , deprecation_warning_issued_( false )
142template <
typename ElementT >
149template <
typename ElementT >
153 Node* n =
new ElementT( proto_ );
157template <
typename ElementT >
161 return proto_.has_proxies();
164template <
typename ElementT >
168 return proto_.one_node_per_process();
171template <
typename ElementT >
175 return proto_.is_off_grid();
178template <
typename ElementT >
182 proto_.calibrate_time( tc );
185template <
typename ElementT >
189 return proto_.send_test_event( target, receptor, syn_id, dummy_target );
192template <
typename ElementT >
196 return proto_.sends_secondary_event( ge );
199template <
typename ElementT >
203 return proto_.sends_secondary_event( re );
206template <
typename ElementT >
210 return proto_.sends_secondary_event( de );
213template <
typename ElementT >
217 return proto_.sends_secondary_event( re );
220template <
typename ElementT >
224 return proto_.sends_secondary_event( re );
227template <
typename ElementT >
231 return proto_.sends_secondary_event( sic );
234template <
typename ElementT >
238 return proto_.sends_signal();
241template <
typename ElementT >
245 proto_.set_status( d );
248template <
typename ElementT >
257template <
typename ElementT >
261 return sizeof( ElementT );
264template <
typename ElementT >
271template <
typename ElementT >
278template <
typename ElementT >
282 return proto_.get_model_id();
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
Event for rate model connections with delay.
Definition secondary_event.h:331
Event for diffusion connections (rate model connections for the siegert_neuron).
Definition secondary_event.h:348
Event for gap-junction information.
Definition secondary_event.h:299
Generic Model template.
Definition genericmodel.h:46
void calibrate_time(const TimeConverter &tc) override
Definition genericmodel.h:180
size_t get_element_size() const override
Return the size of the prototype.
Definition genericmodel.h:259
Dictionary get_status_() override
Definition genericmodel.h:250
void set_status_(const Dictionary &) override
Definition genericmodel.h:243
std::string deprecation_info_
String containing deprecation information; empty if model not deprecated.
Definition genericmodel.h:115
void sends_secondary_event(GapJunctionEvent &ge) override
Definition genericmodel.h:194
Node * create_() override
Call placement new on the supplied memory position.
Definition genericmodel.h:151
bool one_node_per_process() override
Definition genericmodel.h:166
ElementT proto_
Prototype node from which all instances are constructed.
Definition genericmodel.h:110
void deprecation_warning(const std::string &) override
Issue deprecation warning on first call if model is deprecated.
Definition genericmodel_impl.h:37
bool deprecation_warning_issued_
False until deprecation warning has been issued once.
Definition genericmodel.h:118
int get_model_id() override
Get the model id from the prototype.
Definition genericmodel.h:280
Model * clone(const std::string &) const override
Return pointer to cloned model with same name.
Definition genericmodel.h:144
bool is_off_grid() override
Definition genericmodel.h:173
size_t send_test_event(Node &, size_t, synindex, bool) override
Send a test event to a target node.
Definition genericmodel.h:187
SignalType sends_signal() const override
Check what type of signal this model is sending.
Definition genericmodel.h:236
Node const & get_prototype() const override
Return const reference to the prototype.
Definition genericmodel.h:266
GenericModel(const std::string &, const std::string &deprecation_info)
Definition genericmodel.h:122
bool has_proxies() override
Definition genericmodel.h:159
void set_model_id(int) override
Set the model id on the prototype.
Definition genericmodel.h:273
Event for rate model connections without delay.
Definition secondary_event.h:315
Event for learning signal connections.
Definition secondary_event.h:384
Base class for all Models.
Definition model.h:53
void set_threads()
Set number of threads based on number set in network.
Definition model.cpp:47
size_t get_type_id() const
Definition model.h:206
void set_type_id(size_t id)
Set the model id on the prototype.
Definition model.h:200
Base class for all NEST network objects.
Definition node.h:99
void set_model_id(int)
Set the model id.
Definition node.h:1220
Event for slow inward current (SIC) connections between astrocytes and neurons.
Definition secondary_event.h:458
Class to convert times from one representation to another.
Definition nest_timeconverter.h:42
const std::string elementsize("elementsize")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
SignalType
enum type of signal conveyed by spike events of a node.
Definition nest_types.h:165
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115