void nest::ac_generator::update( Time const& origin, const long from, const long to ) { assert( to >= 0 && ( delay ) from < kernel().connection_manager.get_min_delay() ); assert( from < to ); long start = origin.get_steps(); CurrentEvent ce; for ( long lag = from; lag < to; ++lag ) { S_.I_ = 0.0; if ( device_.is_active( Time::step( start + lag ) ) ) { const double y_0 = S_.y_0_; S_.y_0_ = V_.A_00_ * y_0 + V_.A_01_ * S_.y_1_; S_.y_1_ = V_.A_10_ * y_0 + V_.A_11_ * S_.y_1_; S_.I_ = S_.y_1_ + P_.offset_; ce.set_current( S_.I_ ); kernel().event_delivery_manager.send( *this, ce, lag ); } B_.logger_.record_data( origin.get_steps() + lag ); } }
void nest::izhikevich::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double_t c = e.get_current(); const double_t w = e.get_weight(); B_.currents_.add_value( e.get_rel_delivery_steps( network()->get_slice_origin() ), w * c ); }
void nest::iaf_cond_alpha::handle( CurrentEvent& e ) { assert( e.get_delay_steps() > 0 ); // add weighted current; HEP 2002-10-04 B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), e.get_weight() * e.get_current() ); }
void nest::izhikevich::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double_t c = e.get_current(); const double_t w = e.get_weight(); B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), w * c ); }
void mynest::coronet_neuron::handle(CurrentEvent& e) { assert(e.get_delay() > 0); const double_t c=e.get_current(); const double_t w=e.get_weight(); // add weighted current; HEP 2002-10-04 B_.currents_.add_value(e.get_rel_delivery_steps(network()->get_slice_origin()), w *c); }
void nest::iaf_psc_alpha_mod::handle(CurrentEvent& e) { assert(e.get_delay() > 0); const double_t I = e.get_current(); const double_t w = e.get_weight(); // add weighted current; HEP 2002-10-04 B_.currents_.add_value(e.get_rel_delivery_steps(network()->get_slice_origin()), w * I); }
void nest::iaf_tum_2000::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double_t c = e.get_current(); const double_t w = e.get_weight(); // add weighted current; HEP 2002-10-04 B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), w * c ); }
void iaf_psc_alpha::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double I = e.get_current(); const double w = e.get_weight(); B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), w * I ); }
void nest::dc_generator::update( Time const& origin, const long from, const long to ) { long start = origin.get_steps(); CurrentEvent ce; ce.set_current( P_.amp_ ); for ( long offs = from; offs < to; ++offs ) if ( device_.is_active( Time::step( start + offs ) ) ) kernel().event_delivery_manager.send( *this, ce, offs ); }
void iaf_psc_alpha_multisynapse::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double_t I = e.get_current(); const double_t w = e.get_weight(); // add weighted current; HEP 2002-10-04 B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), w * I ); }
void nest::dc_generator::update( Time const& origin, const long_t from, const long_t to ) { long_t start = origin.get_steps(); CurrentEvent ce; ce.set_current( P_.amp_ ); for ( long_t offs = from; offs < to; ++offs ) if ( device_.is_active( Time::step( start + offs ) ) ) network()->send( *this, ce, offs ); }
void iaf_psc_delta_canon::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); const double_t c = e.get_current(); const double_t w = e.get_weight(); // add stepwise constant current; MH 2009-10-14 B_.currents_.add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), w * c ); }
void nest::ac_generator::update(Time const & origin, const long_t from, const long_t to) { long_t start = origin.get_steps(); CurrentEvent ce; for ( long_t lag = from ; lag < to ; ++lag ) if( device_.is_active(Time::step(start+lag) )) { const double_t y_0 = S_.y_0_; S_.y_0_ = V_.A_00_ * y_0 + V_.A_01_ * S_.y_1_; S_.y_1_ = V_.A_10_ * y_0 + V_.A_11_ * S_.y_1_; ce.set_current(S_.y_1_ + P_.offset_); network()->send(*this, ce, lag); } }
void nest::iaf_cond_alpha_mc::handle( CurrentEvent& e ) { assert( e.get_delay() > 0 ); assert( 0 <= e.get_rport() && e.get_rport() < NCOMP ); // not 100% clean, should look at MIN, SUP // add weighted current; HEP 2002-10-04 B_.currents_[ e.get_rport() ].add_value( e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), e.get_weight() * e.get_current() ); }