23 #ifndef HH_PSC_ALPHA_H
24 #define HH_PSC_ALPHA_H
39 #include <gsl/gsl_errno.h>
40 #include <gsl/gsl_matrix.h>
41 #include <gsl/gsl_odeiv.h>
42 #include <gsl/gsl_sf_exp.h>
277 gsl_odeiv_control*
c_;
278 gsl_odeiv_evolve*
e_;
316 template <State_::StateVecElems elem>
344 if (receptor_type != 0)
352 if (receptor_type != 0)
361 if (receptor_type != 0)
398 #endif //HH_PSC_ALPHA_H
State_ & operator=(const State_ &)
Definition: hh_psc_alpha.cpp:168
const Name recordables("recordables")
List of recordable state data (Device parameters)
Definition: nest_names.h:244
void calibrate()
Re-calculate dependent parameters of the node.
Definition: hh_psc_alpha.cpp:341
int int_t
Integer number with at least 16 bit.
Definition: nest.h:95
~hh_psc_alpha()
Definition: hh_psc_alpha.cpp:286
Definition of Archiving_Node which is capable of recording and managing a spike history.
double_t I_stim_
Input current injected by CurrentEvent.
Definition: hh_psc_alpha.h:295
double_t g_Na
Sodium Conductance in nS.
Definition: hh_psc_alpha.h:199
const Name receptor_type("receptor_type")
Connection parameters.
Definition: nest_names.h:240
Definition: hh_psc_alpha.h:238
void update(Time const &, const long_t, const long_t)
Bring the node from state $t$ to $t+n*dt$.
Definition: hh_psc_alpha.cpp:355
double_t y_[STATE_VEC_SIZE]
neuron state, must be C-array for GSL solver
Definition: hh_psc_alpha.h:246
const Name d("d")
Specific to Izhikevich 2003.
Definition: nest_names.h:83
Buffers_(hh_psc_alpha &)
Sets buffer pointers to 0.
Definition: hh_psc_alpha.cpp:245
Internal variables of the model.
Definition: hh_psc_alpha.h:303
double_t step_
step size in ms
Definition: hh_psc_alpha.h:285
void set_sender(Node &)
Change pointer to sending Node.
Definition: event.h:714
Definition: hh_psc_alpha.h:125
Definition: hh_psc_alpha.h:239
double_t E_K
Potassium Reversal Potential in mV.
Definition: hh_psc_alpha.h:204
void set_potential(Time const &, double_t)
Define current membrane potential.
port send_test_event(Node &, rport, synindex, bool)
Send an event to the receiving_node passed as an argument.
Definition: hh_psc_alpha.h:332
void init_buffers_()
Private function to initialize the buffers of a node.
Definition: hh_psc_alpha.cpp:304
void init_state_(const Node &proto)
Private function to initialize the state of a node to model defaults.
Definition: hh_psc_alpha.cpp:298
Definition: hh_psc_alpha.h:236
Event for electrical currents.
Definition: event.h:420
long_t rport
Connection port number to distinguish incoming connections, also called receiver port.
Definition: nest.h:147
StateVecElems
Enumeration identifying elements in state array State_::y_.
Definition: hh_psc_alpha.h:232
State variables of the model.
Definition: hh_psc_alpha.h:224
double_t get_potential(Time const &) const
Return membrane potential at time t.
gsl_odeiv_system sys_
struct describing system
Definition: hh_psc_alpha.h:279
Map names of recordables to data access functions.
Definition: recordables_map.h:58
double_t PSCurrInit_I_
initial value to normalise inhibitory synaptic current
Definition: hh_psc_alpha.h:308
Definition: nest_time.h:130
std::string get_name() const
Return class name.
Definition: node.cpp:83
Definition: hh_psc_alpha.h:240
RingBuffer spike_exc_
buffers and sums up incoming spikes/currents
Definition: hh_psc_alpha.h:271
void set_status(const DictionaryDatum &d)
Definition: archiving_node.cpp:185
Definition: hh_psc_alpha.h:237
friend class UniversalDataLogger< hh_psc_alpha >
Definition: hh_psc_alpha.h:190
int hh_psc_alpha_dynamics(double, const double y[], double f[], void *pnode)
Definition: hh_psc_alpha.cpp:68
Exception to be thrown if the specified receptor type does not exist in the node. ...
Definition: exceptions.h:254
Variables_ V_
Definition: hh_psc_alpha.h:323
const Name target("target")
Connection parameters.
Definition: nest_names.h:282
double IntegrationStep_
current integration time step, updated by GSL
Definition: hh_psc_alpha.h:286
double_t g_L
Leak Conductance in nS.
Definition: hh_psc_alpha.h:201
void set_status(const DictionaryDatum &)
Definition: hh_psc_alpha.h:377
Parameters_ P_
Definition: hh_psc_alpha.h:321
RingBuffer spike_inh_
Definition: hh_psc_alpha.h:272
Definition: hh_psc_alpha.h:235
double_t C_m
Membrane Capacitance in pF.
Definition: hh_psc_alpha.h:202
RingBuffer currents_
Definition: hh_psc_alpha.h:273
gsl_odeiv_evolve * e_
evolution function
Definition: hh_psc_alpha.h:278
a node which archives spike history for the purposes of timing dependent plasticity ...
Definition: archiving_node.h:50
State_(const Parameters_ &)
Default initialization.
Definition: hh_psc_alpha.cpp:141
long_t port
Connection port number to distinguis outgoing connections.
Definition: nest.h:155
int_t RefractoryCounts_
Definition: hh_psc_alpha.h:310
virtual void handle(SpikeEvent &e)
Handle incoming spike events.
Definition: node.cpp:198
State_ S_
Definition: hh_psc_alpha.h:322
gsl_odeiv_step * s_
GSL ODE stuff.
Definition: hh_psc_alpha.h:276
double double_t
Double precision floating point numbers.
Definition: nest.h:93
void get(DictionaryDatum &) const
Store current values in dictionary.
Definition: hh_psc_alpha.cpp:182
Definition: hh_psc_alpha.h:241
double_t get_y_elem_() const
Read out state vector elements, used by UniversalDataLogger.
Definition: hh_psc_alpha.h:317
double_t I_e
Constant Current in pA.
Definition: hh_psc_alpha.h:208
double_t E_Na
Sodium Reversal Potential in mV.
Definition: hh_psc_alpha.h:203
static RecordablesMap< hh_psc_alpha > recordablesMap_
Mapping of recordables names to access functions.
Definition: hh_psc_alpha.h:327
virtual port handles_test_event(SpikeEvent &, rport receptor_type)
Check if the node can handle a particular event and receptor type.
Definition: node.cpp:203
Definition: hh_psc_alpha.h:234
Request data to be logged/logged data to be sent.
Definition: event.h:486
void set(const DictionaryDatum &)
Definition: hh_psc_alpha.cpp:234
unsigned char synindex
Unsigned char type for enumerations of synapse types.
Definition: nest.h:115
Buffers of the model.
Definition: hh_psc_alpha.h:263
UniversalDataLogger< hh_psc_alpha > logger_
Logger for all analog data.
Definition: hh_psc_alpha.h:268
Default types used by the NEST kernel.
void get_status(DictionaryDatum &d) const
Definition: archiving_node.cpp:175
Event for spike information.
Definition: event.h:320
Buffers_ B_
Definition: hh_psc_alpha.h:324
port handles_test_event(SpikeEvent &, rport)
Check if the node can handle a particular event and receptor type.
Definition: hh_psc_alpha.h:342
Independent parameters.
Definition: hh_psc_alpha.h:197
hh_psc_alpha()
Definition: hh_psc_alpha.cpp:269
Base class for all NEST network objects.
Definition: node.h:96
void handle(SpikeEvent &)
Handle incoming spike events.
Definition: hh_psc_alpha.cpp:420
double_t tau_synI
Synaptic Time Constant for Inhibitory Synapse in ms.
Definition: hh_psc_alpha.h:207
double_t t_ref_
refractory time in ms
Definition: hh_psc_alpha.h:198
void get(DictionaryDatum &) const
Definition: hh_psc_alpha.cpp:226
double_t E_L
Leak reversal Potential (aka resting potential) in mV.
Definition: hh_psc_alpha.h:205
Parameters_()
Sets default parameter values.
Definition: hh_psc_alpha.cpp:126
Definition: hh_psc_alpha.h:242
double_t g_K
Potassium Conductance in nS.
Definition: hh_psc_alpha.h:200
double_t PSCurrInit_E_
initial value to normalise excitatory synaptic current
Definition: hh_psc_alpha.h:305
double_t tau_synE
Synaptic Time Constant Excitatory Synapse in ms.
Definition: hh_psc_alpha.h:206
long long_t
Integer number with at least 32 bit.
Definition: nest.h:96
void set(const DictionaryDatum &)
Set values from dicitonary.
Definition: hh_psc_alpha.cpp:197
const double e
Definition: numerics.cpp:62
int_t r_
number of refractory steps remaining
Definition: hh_psc_alpha.h:247
Buffer Layout.
Definition: ring_buffer.h:77
friend int hh_psc_alpha_dynamics(double, const double *, double *, void *)
Function computing right-hand side of ODE for GSL solver.
gsl_odeiv_control * c_
adaptive stepsize control function
Definition: hh_psc_alpha.h:277
void get_status(DictionaryDatum &) const
Definition: hh_psc_alpha.h:367