NEST
2.6.0,not_revisioned_source_dir@0
|
class mip_generator More...
#include <mip_generator.h>
Classes | |
struct | Parameters_ |
Store independent parameters of the model. More... | |
struct | Variables_ |
Public Member Functions | |
mip_generator () | |
The generator is threaded, so the RNG to use is determined at run-time, depending on thread. More... | |
mip_generator (const mip_generator &rhs) | |
Copy constructor. More... | |
bool | has_proxies () const |
Returns true if the node has proxies on remote threads. More... | |
port | send_test_event (Node &, rport, synindex, bool) |
Send an event to the receiving_node passed as an argument. More... | |
void | get_status (DictionaryDatum &) const |
void | set_status (const DictionaryDatum &) |
Public Member Functions inherited from nest::Node | |
Node () | |
Node (Node const &) | |
virtual | ~Node () |
virtual Node * | clone () const |
Virtual copy constructor. More... | |
virtual bool | potential_global_receiver () const |
Returns true for potential global receivers (e.g. More... | |
virtual void | set_has_proxies (const bool) |
Sets has_proxies_ member variable (to switch to global spike detection mode) More... | |
virtual void | set_local_receiver (const bool) |
Sets local_receiver_ member variable (to switch to global spike detection mode) More... | |
virtual bool | local_receiver () const |
Returns true if the node only receives events from nodes/devices on the same thread. More... | |
virtual bool | one_node_per_process () const |
Returns true if the node exists only once per process, but does not have proxies on remote threads. More... | |
virtual bool | is_off_grid () const |
Returns true if the node if it sends/receives -grid events This is used to discriminate between different types of nodes, when adding new nodes to the network. More... | |
virtual bool | is_proxy () const |
Returns true if the node is a proxy node. More... | |
std::string | get_name () const |
Return class name. More... | |
index | get_gid () const |
Return global Network ID. More... | |
index | get_lid () const |
Return local node ID. More... | |
index | get_subnet_index () const |
Return the index to the node in the node array of the parent subnet. More... | |
int | get_model_id () const |
Return model ID of the node. More... | |
Subnet * | get_parent () const |
Return pointer to parent subnet. More... | |
virtual std::string | print_network (int, int, std::string="") |
Prints out one line of the tree view of the network. More... | |
bool | is_frozen () const |
Returns true if node is frozen, i.e., shall not be updated. More... | |
bool | is_local () const |
Returns true if the node is allocated in the local process. More... | |
void | init_state () |
Set state variables to the default values for the model. More... | |
void | init_buffers () |
Initialize buffers of a node. More... | |
virtual void | finalize () |
Finalize node. More... | |
virtual void | set_status (const DictionaryDatum &)=0 |
Change properties of the node according to the entries in the dictionary. More... | |
virtual void | get_status (DictionaryDatum &) const =0 |
Export properties of the node by setting entries in the status dictionary. More... | |
virtual port | handles_test_event (SpikeEvent &, rport receptor_type) |
Check if the node can handle a particular event and receptor type. More... | |
virtual port | handles_test_event (RateEvent &, rport receptor_type) |
virtual port | handles_test_event (DataLoggingRequest &, rport receptor_type) |
virtual port | handles_test_event (CurrentEvent &, rport receptor_type) |
virtual port | handles_test_event (ConductanceEvent &, rport receptor_type) |
virtual port | handles_test_event (DoubleDataEvent &, rport receptor_type) |
virtual port | handles_test_event (DSSpikeEvent &, rport receptor_type) |
virtual port | handles_test_event (DSCurrentEvent &, rport receptor_type) |
virtual void | register_stdp_connection (double_t) |
Register a STDP connection. More... | |
virtual void | unregister_stdp_connection (double_t) |
Unregister a STDP connection. More... | |
virtual void | handle (SpikeEvent &e) |
Handle incoming spike events. More... | |
virtual void | handle (RateEvent &e) |
Handler for rate events. More... | |
virtual void | handle (DataLoggingRequest &e) |
Handler for universal data logging request. More... | |
virtual void | handle (DataLoggingReply &e) |
Handler for universal data logging request. More... | |
virtual void | handle (CurrentEvent &e) |
Handler for current events. More... | |
virtual void | handle (ConductanceEvent &e) |
Handler for conductance events. More... | |
virtual void | handle (DoubleDataEvent &e) |
Handler for DoubleData events. More... | |
virtual double_t | get_K_value (double_t t) |
return the Kminus value at t (in ms). More... | |
virtual void | get_K_values (double_t t, double_t &Kminus, double_t &triplet_Kminus) |
write the Kminus and triplet_Kminus values at t (in ms) to the provided locations. More... | |
virtual void | get_history (double_t t1, double_t t2, std::deque< histentry >::iterator *start, std::deque< histentry >::iterator *finish) |
return the spike history for (t1,t2]. More... | |
virtual void | event_hook (DSCurrentEvent &) |
void | set_thread (thread) |
Store the number of the thread to which the node is assigned. More... | |
thread | get_thread () const |
Retrieve the number of the thread to which the node is assigned. More... | |
void | set_vp (thread) |
Store the number of the virtual process to which the node is assigned. More... | |
thread | get_vp () const |
Retrieve the number of the virtual process to which the node is assigned. More... | |
void | set_model_id (int) |
Set the model id. More... | |
virtual bool | is_subnet () const |
DictionaryDatum | get_status_base () |
Return a dictionary with the node's properties. More... | |
void | set_status_base (const DictionaryDatum &) |
Set status dictionary of a node. More... | |
bool | is_model_prototype () const |
Returns true if node is model prototype. More... | |
void | set_thread_lid (const index) |
set thread local index More... | |
index | get_thread_lid () const |
get thread local index More... | |
bool | buffers_initialized () const |
True if buffers have been initialized. More... | |
void | set_buffers_initialized (bool initialized) |
Private Member Functions | |
void | init_state_ (const Node &) |
Private function to initialize the state of a node to model defaults. More... | |
void | init_buffers_ () |
Private function to initialize the buffers of a node. More... | |
void | calibrate () |
Re-calculate dependent parameters of the node. More... | |
void | update (Time const &, const long_t, const long_t) |
Bring the node from state $t$ to $t+n*dt$. More... | |
void | event_hook (DSSpikeEvent &) |
Private Attributes | |
StimulatingDevice< SpikeEvent > | device_ |
Parameters_ | P_ |
Variables_ | V_ |
Additional Inherited Members | |
Static Public Member Functions inherited from nest::Node | |
static Network * | network () |
Return pointer to network driver class. More... | |
Protected Member Functions inherited from nest::Node | |
virtual size_t | num_thread_siblings_ () const |
Return the number of thread siblings in SiblingContainer. More... | |
virtual Node * | get_thread_sibling_ (index) const |
Return the specified member of a SiblingContainer. More... | |
virtual Node * | get_thread_sibling_safe_ (index) const |
Return specified member of a SiblingContainer, with access control. More... | |
Model & | get_model_ () const |
void | set_frozen_ (bool frozen) |
Mark node as frozen. More... | |
template<typename ConcreteNode > | |
const ConcreteNode & | downcast (const Node &) |
Auxiliary function to downcast a Node to a concrete class derived from Node. More... | |
Static Protected Attributes inherited from nest::Node | |
static Network * | net_ =NULL |
Pointer to global network driver. More... | |
class mip_generator
Class mip_generator generates spike trains as described in the MIP model. Class for MIP generator.
nest::mip_generator::mip_generator | ( | ) |
The generator is threaded, so the RNG to use is determined at run-time, depending on thread.
An additional RNG is used for the mother process.
nest::mip_generator::mip_generator | ( | const mip_generator & | rhs | ) |
Copy constructor.
Called, when a new instance is created. Needs to be overrwritten to initialize the random generator for the mother process.
|
privatevirtual |
Re-calculate dependent parameters of the node.
This function is called each time a simulation is begun/resumed. It must re-calculate all internal Variables of the node required for spike handling or updating the node.
Implements nest::Node.
References numerics::e, and nest::Time::get_resolution().
|
privatevirtual |
Reimplemented from nest::Node.
References nest::SpikeEvent::get_multiplicity(), nest::Event::get_receiver(), nest::Node::handle(), nest::names::n, and nest::SpikeEvent::set_multiplicity().
|
inline |
References device_, nest::mip_generator::Parameters_::get(), and P_.
|
inlinevirtual |
Returns true if the node has proxies on remote threads.
This is used to discriminate between different types of nodes, when adding new nodes to the network.
Reimplemented from nest::Node.
|
privatevirtual |
Private function to initialize the buffers of a node.
This function, which must be overloaded by all derived classes, provides the implementation for initializing the buffers of a node.
Implements nest::Node.
|
privatevirtual |
Private function to initialize the state of a node to model defaults.
This function, which must be overloaded by all derived classes, provides the implementation for initializing the state of a node to the model defaults; the state is the set of observable dynamic variables.
Reference | to model prototype object. |
Implements nest::Node.
References device_, and nest::Node::init_state().
|
inlinevirtual |
Send an event to the receiving_node passed as an argument.
Default implementation of check_connection just throws UnexpectedEvent.
This is required during the connection handshaking to test, if the receiving_node can handle the event type and receptor_type sent by the source node.
If dummy_target is true, this indicates that receiving_node is derived from ConnTestDummyNodeBase and used in the first call to send_test_event(). This can be ignored in most cases, but Nodes sending DS*Events to their own event hooks and then *Events to their proper targets must send DS*Events when called with the dummy target, and *Events when called with the real target, see #478.
Reimplemented from nest::Node.
References device_, numerics::e, nest::Node::handles_test_event(), and nest::Event::set_sender().
|
inline |
References device_, P_, and nest::mip_generator::Parameters_::set().
Bring the node from state $t$ to $t+n*dt$.
n->update(T, from, to) performs the update steps beginning at T+from .. T+to-1, ie, emitting events with time stamps T+from+1 .. T+to.
Time | network time at beginning of time slice. |
long_t | initial step inside time slice |
long_t | post-final step inside time slice |
Implements nest::Node.
References assert(), nest::Scheduler::get_min_delay(), and nest::SpikeEvent::set_multiplicity().
|
private |
Referenced by get_status(), init_state_(), send_test_event(), and set_status().
|
private |
Referenced by get_status(), and set_status().
|
private |