NEST main@caf0ae8
 
Loading...
Searching...
No Matches
urbanczik_archiving_node.h
Go to the documentation of this file.
1/*
2 * urbanczik_archiving_node.h
3 *
4 * This file is part of NEST.
5 *
6 * Copyright (C) 2004 The NEST Initiative
7 *
8 * NEST is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * NEST is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with NEST. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23#ifndef URBANCZIK_ARCHIVING_NODE_H
24#define URBANCZIK_ARCHIVING_NODE_H
25
26// C++ includes:
27#include <deque>
28
29// Includes from nestkernel:
30#include "archiving_node.h"
31#include "histentry.h"
32#include "nest_time.h"
33#include "nest_types.h"
34#include "synaptic_element.h"
35
36
37namespace nest
38{
39
44template < class urbanczik_parameters >
46{
47
48public:
50
52
53 bool
55 {
56 return true;
57 }
58
63 void get_urbanczik_history( double t1,
64 double t2,
65 std::deque< histentry_extended >::iterator* start,
66 std::deque< histentry_extended >::iterator* finish,
67 int comp ) override;
68
72 double get_C_m( int comp ) override;
73
77 double get_g_L( int comp ) override;
78
82 double get_tau_L( int comp ) override;
83
87 double get_tau_syn_ex( int comp ) override;
88
92 double get_tau_syn_in( int comp ) override;
93
94protected:
98 void write_urbanczik_history( Time const& t_sp, double V_W, int n_spikes, int comp );
99
100 urbanczik_parameters* urbanczik_params;
101
102 void get_status( Dictionary& d ) const override;
103 void set_status( const Dictionary& d ) override;
104
105private:
106 std::deque< histentry_extended > urbanczik_history_[ urbanczik_parameters::NCOMP - 1 ];
107};
108
109template < class urbanczik_parameters >
110inline double
112{
113 return urbanczik_params->C_m[ comp ];
114}
115
116template < class urbanczik_parameters >
117inline double
119{
120 return urbanczik_params->g_L[ comp ];
121}
122
123template < class urbanczik_parameters >
124inline double
126{
127 return urbanczik_params->C_m[ comp ] / urbanczik_params->g_L[ comp ];
128}
129
130template < class urbanczik_parameters >
131inline double
133{
134 return urbanczik_params->tau_syn_ex[ comp ];
135}
136
137template < class urbanczik_parameters >
138inline double
140{
141 return urbanczik_params->tau_syn_in[ comp ];
142}
143
144} // namespace nest
145
146#endif /* #ifndef URBANCZIK_ARCHIVING_NODE_H */
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
A node which archives spike history for the purposes of spike-timing dependent plasticity (STDP)
Definition archiving_node.h:49
Definition nest_time.h:135
An archiving node which additionally archives parameters and buffers needed for the Urbanczik-Senn pl...
Definition urbanczik_archiving_node.h:46
double get_tau_syn_ex(int comp) override
Returns time constant tau_syn_ex.
Definition urbanczik_archiving_node.h:132
std::deque< histentry_extended > urbanczik_history_[urbanczik_parameters::NCOMP - 1]
Definition urbanczik_archiving_node.h:106
double get_tau_L(int comp) override
Returns time constant tau_L.
Definition urbanczik_archiving_node.h:125
double get_tau_syn_in(int comp) override
Returns time constant tau_syn_in.
Definition urbanczik_archiving_node.h:139
double get_C_m(int comp) override
Returns membrane capacitance.
Definition urbanczik_archiving_node.h:111
bool supports_urbanczik_archiving() const override
Returns true if the node supports the Urbanczik-Senn plasticity rule.
Definition urbanczik_archiving_node.h:54
UrbanczikArchivingNode()
Definition urbanczik_archiving_node_impl.h:34
void get_urbanczik_history(double t1, double t2, std::deque< histentry_extended >::iterator *start, std::deque< histentry_extended >::iterator *finish, int comp) override
Sets pointer start (finish) to the first (last) entry in urbanczik_history_[comp] whose time argument...
Definition urbanczik_archiving_node_impl.h:61
urbanczik_parameters * urbanczik_params
Definition urbanczik_archiving_node.h:100
void write_urbanczik_history(Time const &t_sp, double V_W, int n_spikes, int comp)
Writes the history for compartment comp into the buffers.
Definition urbanczik_archiving_node_impl.h:95
void get_status(Dictionary &d) const override
Export properties of the node by setting entries in the status dictionary.
Definition urbanczik_archiving_node_impl.h:47
double get_g_L(int comp) override
Returns leak conductance g_L.
Definition urbanczik_archiving_node.h:118
void set_status(const Dictionary &d) override
Change properties of the node according to the entries in the dictionary.
Definition urbanczik_archiving_node_impl.h:54
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33