23#ifndef AEIF_COND_BETA_MULTISYNAPSE_H
24#define AEIF_COND_BETA_MULTISYNAPSE_H
33#include <gsl/gsl_errno.h>
34#include <gsl/gsl_matrix.h>
35#include <gsl/gsl_odeiv.h>
57extern "C" int aeif_cond_beta_multisynapse_dynamics(
double,
const double*,
double*,
void* );
200void register_aeif_cond_beta_multisynapse(
const std::string& name );
202class aeif_cond_beta_multisynapse :
public ArchivingNode
206 aeif_cond_beta_multisynapse();
207 aeif_cond_beta_multisynapse(
const aeif_cond_beta_multisynapse& );
208 ~aeif_cond_beta_multisynapse()
override;
210 friend int aeif_cond_beta_multisynapse_dynamics(
double,
const double*,
double*,
void* );
218 using Node::handles_test_event;
220 size_t send_test_event( Node&,
size_t, synindex,
bool )
override;
222 void handle( SpikeEvent& )
override;
223 void handle( CurrentEvent& )
override;
224 void handle( DataLoggingRequest& )
override;
226 size_t handles_test_event( SpikeEvent&,
size_t )
override;
227 size_t handles_test_event( CurrentEvent&,
size_t )
override;
228 size_t handles_test_event( DataLoggingRequest&,
size_t )
override;
230 void get_status(
Dictionary& )
const override;
231 void set_status(
const Dictionary& )
override;
234 void init_buffers_()
override;
235 void pre_run_hook()
override;
236 void update( Time
const&,
const long,
const long )
override;
239 friend class DynamicRecordablesMap< aeif_cond_beta_multisynapse >;
240 friend class DynamicUniversalDataLogger< aeif_cond_beta_multisynapse >;
241 friend class DataAccessFunctor< aeif_cond_beta_multisynapse >;
265 std::vector< double >
E_rev;
271 bool has_connections_;
308 STATE_VECTOR_MIN_SIZE
311 static const size_t NUMBER_OF_FIXED_STATES_ELEMENTS = 2;
312 static const size_t NUM_STATE_ELEMENTS_PER_RECEPTOR = 2;
314 std::vector< double > y_;
317 State_(
const Parameters_& );
331 Buffers_( aeif_cond_beta_multisynapse& );
332 Buffers_(
const Buffers_&, aeif_cond_beta_multisynapse& );
335 DynamicUniversalDataLogger< aeif_cond_beta_multisynapse > logger_;
338 std::vector< RingBuffer > spikes_;
339 RingBuffer currents_;
343 gsl_odeiv_control* c_;
344 gsl_odeiv_evolve* e_;
345 gsl_odeiv_system sys_;
351 double IntegrationStep_;
373 std::vector< double > g0_;
381 unsigned int refractory_counts_;
401 DynamicRecordablesMap< aeif_cond_beta_multisynapse > recordablesMap_;
404 DataAccessFunctor< aeif_cond_beta_multisynapse > get_data_access_functor(
size_t elem );
406 get_state_element(
size_t elem )
408 return S_.y_[ elem ];
414 std::string get_g_receptor_name(
size_t receptor );
415 void insert_conductance_recordables(
size_t first = 0 );
419aeif_cond_beta_multisynapse::send_test_event( Node& target,
size_t receptor_type,
synindex,
bool )
422 e.set_sender( *
this );
424 return target.handles_test_event( e, receptor_type );
428aeif_cond_beta_multisynapse::handles_test_event( CurrentEvent&,
size_t receptor_type )
430 if ( receptor_type != 0 )
432 throw UnknownReceptorType( receptor_type, get_name() );
438aeif_cond_beta_multisynapse::handles_test_event( DataLoggingRequest& dlr,
size_t receptor_type )
440 if ( receptor_type != 0 )
442 throw UnknownReceptorType( receptor_type, get_name() );
444 return B_.logger_.connect_logging_device( dlr, recordablesMap_ );
448aeif_cond_beta_multisynapse::get_status(
Dictionary& d )
const
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
void get_status(Dictionary &d) const override
Export properties of the node by setting entries in the status dictionary.
Definition archiving_node.cpp:220
const std::string tau_rise("tau_rise")
const std::string E_L("E_L")
const std::string I_e("I_e")
const std::string recordables("recordables")
const std::string C_m("C_m")
const std::string gsl_error_tol("gsl_error_tol")
const std::string V_th("V_th")
const std::string V_peak("V_peak")
const std::string n_receptors("n_receptors")
const std::string tau_decay("tau_decay")
const std::string target("target")
const std::string tau_w("tau_w")
const std::string Delta_T("Delta_T")
const std::string E_rev("E_rev")
const std::string g_L("g_L")
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33
size_t synindex
For enumerations of synapse types.
Definition nest_types.h:115
const double e
Definition numerics.cpp:32