NEST  2.6.0,not_revisioned_source_dir@0
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
nest::sinusoidal_poisson_generator Class Reference

#include <sinusoidal_poisson_generator.h>

Inheritance diagram for nest::sinusoidal_poisson_generator:
nest::Node

Classes

struct  Buffers_
 Buffers of the model. More...
 
struct  Parameters_
 
struct  State_
 
struct  Variables_
 

Public Member Functions

 sinusoidal_poisson_generator ()
 
 sinusoidal_poisson_generator (const sinusoidal_poisson_generator &)
 
port send_test_event (Node &, rport, synindex, bool)
 Send an event to the receiving_node passed as an argument. More...
 
void handle (DataLoggingRequest &)
 Handler for universal data logging request. More...
 
port handles_test_event (DataLoggingRequest &, rport)
 
void get_status (DictionaryDatum &) const
 
void set_status (const DictionaryDatum &)
 
bool has_proxies () const
 Model can be switched between proxies (single spike train) and not. More...
 
bool local_receiver () const
 Allow multimeter to connect to local instances. More...
 
- Public Member Functions inherited from nest::Node
 Node ()
 
 Node (Node const &)
 
virtual ~Node ()
 
virtual Nodeclone () 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 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...
 
Subnetget_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 (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 (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 event_hook (DSSpikeEvent &)
 Modify Event object parameters during event delivery. More...
 
void update (Time const &, const long_t, const long_t)
 Bring the node from state $t$ to $t+n*dt$. More...
 
double_t get_rate_ () const
 

Private Attributes

StimulatingDevice< SpikeEventdevice_
 
Parameters_ P_
 
State_ S_
 
Variables_ V_
 
Buffers_ B_
 

Static Private Attributes

static RecordablesMap
< sinusoidal_poisson_generator
recordablesMap_
 

Friends

class RecordablesMap< sinusoidal_poisson_generator >
 
class UniversalDataLogger< sinusoidal_poisson_generator >
 

Additional Inherited Members

- Static Public Member Functions inherited from nest::Node
static Networknetwork ()
 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 Nodeget_thread_sibling_ (index) const
 Return the specified member of a SiblingContainer. More...
 
virtual Nodeget_thread_sibling_safe_ (index) const
 Return specified member of a SiblingContainer, with access control. More...
 
Modelget_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 Networknet_ =NULL
 Pointer to global network driver. More...
 

Constructor & Destructor Documentation

nest::sinusoidal_poisson_generator::sinusoidal_poisson_generator ( )

References recordablesMap_.

nest::sinusoidal_poisson_generator::sinusoidal_poisson_generator ( const sinusoidal_poisson_generator n)

Member Function Documentation

void nest::sinusoidal_poisson_generator::calibrate ( )
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 nest::Time::get_ms(), and nest::Time::get_resolution().

void nest::sinusoidal_poisson_generator::event_hook ( DSSpikeEvent e)
privatevirtual

Modify Event object parameters during event delivery.

Some Nodes want to perform a function on an event for each of their targets. An example is the poisson_generator which needs to draw a random number for each target. The DSSpikeEvent, DirectSendingSpikeEvent, calls sender->event_hook(thread, *this) in its operator() function instead of calling target->handle(). The default implementation of Node::event_hook() just calls target->handle(DSSpikeEvent&). Any reimplementation must also execute this call. Otherwise the event will not be delivered. If needed, target->handle(DSSpikeEvent) may be called more than once.

Reimplemented from nest::Node.

References nest::Event::get_receiver(), nest::Node::handle(), and nest::SpikeEvent::set_multiplicity().

double_t nest::sinusoidal_poisson_generator::get_rate_ ( ) const
inlineprivate
void nest::sinusoidal_poisson_generator::get_status ( DictionaryDatum d) const
inline
void nest::sinusoidal_poisson_generator::handle ( DataLoggingRequest e)
virtual

Handler for universal data logging request.

See also
handle(SpikeEvent&)
Exceptions
UnexpectedEvent

Reimplemented from nest::Node.

port nest::sinusoidal_poisson_generator::handles_test_event ( DataLoggingRequest dlr,
rport  receptor_type 
)
inlinevirtual
bool nest::sinusoidal_poisson_generator::has_proxies ( ) const
inlinevirtual

Model can be switched between proxies (single spike train) and not.

Reimplemented from nest::Node.

References nest::sinusoidal_poisson_generator::Parameters_::individual_spike_trains_, and P_.

void nest::sinusoidal_poisson_generator::init_buffers_ ( )
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.

See also
Node::init_buffers()

Implements nest::Node.

void nest::sinusoidal_poisson_generator::init_state_ ( const 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.

Parameters
Referenceto model prototype object.
See also
Node::init_state()
Note
To provide a reasonable behavior during the transition to the new scheme, init_state_() has a default implementation calling init_dynamic_state_().

Implements nest::Node.

References device_, nest::Node::init_state(), and S_.

bool nest::sinusoidal_poisson_generator::local_receiver ( ) const
inlinevirtual

Allow multimeter to connect to local instances.

Reimplemented from nest::Node.

port nest::sinusoidal_poisson_generator::send_test_event ( Node receiving_node,
rport  receptor_type,
synindex  syn_id,
bool  dummy_target 
)
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().

void nest::sinusoidal_poisson_generator::set_status ( const DictionaryDatum d)
inline
void nest::sinusoidal_poisson_generator::update ( Time const &  ,
const long_t  ,
const long_t   
)
privatevirtual

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.

Parameters
Timenetwork time at beginning of time slice.
long_tinitial step inside time slice
long_tpost-final step inside time slice

Implements nest::Node.

References assert(), nest::Scheduler::get_min_delay(), nest::Time::get_steps(), nest::SpikeEvent::set_multiplicity(), and nest::names::start.

Friends And Related Function Documentation

friend class UniversalDataLogger< sinusoidal_poisson_generator >
friend

Member Data Documentation

Buffers_ nest::sinusoidal_poisson_generator::B_
private

Referenced by handles_test_event().

StimulatingDevice<SpikeEvent> nest::sinusoidal_poisson_generator::device_
private
Parameters_ nest::sinusoidal_poisson_generator::P_
private

Referenced by get_status(), has_proxies(), and set_status().

RecordablesMap< sinusoidal_poisson_generator > nest::sinusoidal_poisson_generator::recordablesMap_
staticprivate
State_ nest::sinusoidal_poisson_generator::S_
private

Referenced by get_rate_(), get_status(), and init_state_().

Variables_ nest::sinusoidal_poisson_generator::V_
private

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