23#ifndef AEIF_COND_ALPHA_ASTRO_H
24#define AEIF_COND_ALPHA_ASTRO_H
32#include <gsl/gsl_errno.h>
33#include <gsl/gsl_matrix.h>
34#include <gsl/gsl_odeiv.h>
57extern "C" int aeif_cond_alpha_astro_dynamics(
double,
const double*,
double*,
void* );
69extern "C" int aeif_cond_alpha_astro_dynamics_DT0(
double,
const double*,
double*,
void* );
206void register_aeif_cond_alpha_astro(
const std::string& name );
208class aeif_cond_alpha_astro :
public ArchivingNode
212 aeif_cond_alpha_astro();
213 aeif_cond_alpha_astro(
const aeif_cond_alpha_astro& );
214 ~aeif_cond_alpha_astro()
override;
222 using Node::handles_test_event;
224 size_t send_test_event( Node&,
size_t, synindex,
bool )
override;
226 void handle( SpikeEvent& )
override;
227 void handle( CurrentEvent& )
override;
228 void handle( SICEvent& )
override;
229 void handle( DataLoggingRequest& )
override;
231 size_t handles_test_event( SpikeEvent&,
size_t )
override;
232 size_t handles_test_event( CurrentEvent&,
size_t )
override;
233 size_t handles_test_event( SICEvent&,
size_t )
override;
234 size_t handles_test_event( DataLoggingRequest&,
size_t )
override;
236 void get_status(
Dictionary& )
const override;
237 void set_status(
const Dictionary& )
override;
240 void init_buffers_()
override;
241 void pre_run_hook()
override;
242 void update( Time
const&,
const long,
const long )
override;
249 friend int aeif_cond_alpha_astro_dynamics(
double,
const double*,
double*,
void* );
252 friend class RecordablesMap< aeif_cond_alpha_astro >;
253 friend class UniversalDataLogger< aeif_cond_alpha_astro >;
313 double y_[ STATE_VEC_SIZE ];
317 State_(
const Parameters_& );
318 State_(
const State_& );
319 State_& operator=(
const State_& );
322 void set(
const Dictionary&,
const Parameters_&, Node* );
332 Buffers_( aeif_cond_alpha_astro& );
333 Buffers_(
const Buffers_&, aeif_cond_alpha_astro& );
336 UniversalDataLogger< aeif_cond_alpha_astro > logger_;
339 RingBuffer spike_exc_;
340 RingBuffer spike_inh_;
341 RingBuffer currents_;
345 gsl_odeiv_control* c_;
346 gsl_odeiv_evolve* e_;
347 gsl_odeiv_system sys_;
353 double IntegrationStep_;
355 RingBuffer sic_currents_;
387 unsigned int refractory_counts_;
393 template < State_::StateVecElems elem >
397 return S_.y_[ elem ];
415 static RecordablesMap< aeif_cond_alpha_astro > recordablesMap_;
419aeif_cond_alpha_astro::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_alpha_astro::handles_test_event( SpikeEvent&,
size_t receptor_type )
430 if ( receptor_type != 0 )
432 throw UnknownReceptorType( receptor_type, get_name() );
438aeif_cond_alpha_astro::handles_test_event( CurrentEvent&,
size_t receptor_type )
440 if ( receptor_type != 0 )
442 throw UnknownReceptorType( receptor_type, get_name() );
448aeif_cond_alpha_astro::handles_test_event( SICEvent&,
size_t receptor_type )
450 if ( receptor_type != 0 )
452 throw UnknownReceptorType( receptor_type, get_name() );
458aeif_cond_alpha_astro::handles_test_event( DataLoggingRequest& dlr,
size_t receptor_type )
460 if ( receptor_type != 0 )
462 throw UnknownReceptorType( receptor_type, get_name() );
464 return B_.logger_.connect_logging_device( dlr, recordablesMap_ );
468aeif_cond_alpha_astro::get_status(
Dictionary& d )
const
478aeif_cond_alpha_astro::set_status(
const Dictionary& d )
480 Parameters_ ptmp = P_;
483 stmp.set( d, ptmp,
this );
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
void set_status(const Dictionary &d) override
Change properties of the node according to the entries in the dictionary.
Definition archiving_node.cpp:236
const std::string tau_syn_in("tau_syn_in")
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 E_in("E_in")
const std::string target("target")
const std::string tau_syn_ex("tau_syn_ex")
const std::string tau_w("tau_w")
const std::string Delta_T("Delta_T")
const std::string E_ex("E_ex")
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