NEST main@caf0ae8
 
Loading...
Searching...
No Matches
growth_curve.h
Go to the documentation of this file.
1/*
2 * growth_curve.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 GROWTH_CURVE_H
24#define GROWTH_CURVE_H
25
35// Includes from nestkernel:
36#include "exceptions.h"
37#include "nest_types.h"
38
39// Includes from libnestutil:
40#include "dictionary.h"
41
42namespace nest
43{
44
50{
51public:
52 virtual ~GrowthCurve()
53 {
54 }
55 virtual void get( Dictionary& d ) const = 0;
56 virtual void set( const Dictionary& d ) = 0;
57 virtual double
58 update( double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate ) const = 0;
59 virtual bool
60 is( std::string n )
61 {
62 return n == name_;
63 }
64 std::string
66 {
67 return name_;
68 }
69
70protected:
71 GrowthCurve( const std::string name )
72 : name_( name )
73 {
74 }
75 const std::string name_;
76};
77
117{
118public:
120 void get( Dictionary& d ) const override;
121 void set( const Dictionary& d ) override;
122
123 double
124 update( double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate ) const override;
125
126private:
127 double eps_;
128};
129
167{
168public:
170 void get( Dictionary& d ) const override;
171 void set( const Dictionary& d ) override;
172
173 double
174 update( double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate ) const override;
175
176private:
177 void compute_local_();
178
179 double eta_;
180 double eps_;
181 double inv_zeta_;
182 double xi_;
183};
184
223{
224public:
226 void get( Dictionary& d ) const override;
227 void set( const Dictionary& d ) override;
228
229 double
230 update( double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate ) const override;
231
232private:
233 double eps_;
234 double psi_;
235};
236
237} // of namespace
238
239#endif
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
Gaussian version of a growth curve.
Definition growth_curve.h:167
double xi_
Definition growth_curve.h:182
void compute_local_()
Definition growth_curve.cpp:127
GrowthCurveGaussian()
Definition growth_curve.cpp:76
double inv_zeta_
Definition growth_curve.h:181
double eta_
Definition growth_curve.h:179
void get(Dictionary &d) const override
Definition growth_curve.cpp:85
double update(double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate) const override
Definition growth_curve.cpp:101
void set(const Dictionary &d) override
Definition growth_curve.cpp:93
double eps_
Definition growth_curve.h:180
Linear version of a growth curve.
Definition growth_curve.h:117
void set(const Dictionary &d) override
Definition growth_curve.cpp:53
GrowthCurveLinear()
Definition growth_curve.cpp:39
double update(double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate) const override
Definition growth_curve.cpp:59
void get(Dictionary &d) const override
Definition growth_curve.cpp:46
double eps_
Definition growth_curve.h:127
Sigmoid version of a growth curve.
Definition growth_curve.h:223
void get(Dictionary &d) const override
Definition growth_curve.cpp:145
void set(const Dictionary &d) override
Definition growth_curve.cpp:153
double eps_
Definition growth_curve.h:233
double update(double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate) const override
Definition growth_curve.cpp:166
double psi_
Definition growth_curve.h:234
GrowthCurveSigmoid()
Definition growth_curve.cpp:137
Defines the way the number of synaptic elements changes through time according to the calcium concent...
Definition growth_curve.h:50
virtual void set(const Dictionary &d)=0
const std::string name_
Definition growth_curve.h:75
virtual ~GrowthCurve()
Definition growth_curve.h:52
GrowthCurve(const std::string name)
Definition growth_curve.h:71
virtual bool is(std::string n)
Definition growth_curve.h:60
std::string get_name()
Definition growth_curve.h:65
virtual void get(Dictionary &d) const =0
virtual double update(double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate) const =0
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33