An abstract base class for integrate-and-fire neurons with an adaptation current.
More...
#include <IFAC.h>
|
| IFAC (const std::string &input_file) |
| Construct IFAC from .ini file.
|
|
| IFAC (double mu, double D, double tau_a, double Delta) |
| Construct IFAC from given parameters.
|
|
void | get_spikes (SpikeTrain &spike_train) override |
| Obtains spikes by integrating the Langevin equation using an Euler-Maruyama scheme.
|
|
void | get_spikes (Signal &signal, SpikeTrain &spike_train) override |
| Obtains spikes by integrating the Langevin equation using an Euler-Maruyama scheme. Neuron is subject to an applied signal.
|
|
void | get_voltage_curve (const TimeFrame &time, std::vector< double > &v, std::vector< double > &a) |
| Calculates the trajectory, i.e. v(t) and a(t) for a given time frame.
|
|
void | set_tau_a (double tau_a_new) |
| Sets a new adaptation time constant.
|
|
void | set_Delta (double Delta_new) |
| Sets a new kick size.
|
|
| IF (const std::string &input_file) |
| Constructs an IF neuron from a .ini file.
|
|
| IF (double mu, double D) |
| Construct an IF neuron from given parameters.
|
|
virtual double | drift (double v) const =0 |
| Calculates the drift of the IF neuron.
|
|
double | diffusion () const |
| Calculates the diffusion of the IF neurons, i.e. sqrt(2D).
|
|
void | get_voltage_curve (const TimeFrame &time, std::vector< double > &v) |
| Calculates the trajectory, i.e. v(t) for a given time frame.
|
|
void | set_mu (double mu_new) |
| Set new mean input current.
|
|
void | set_D (double D_new) |
| Set new diffusion coefficient.
|
|
double | get_D () const |
| Returns the diffusion coefficient.
|
|
virtual void | print (std::ostream &out) const =0 |
| Prints the IF neuron to the outstream.
|
|
|
double | tau_a |
| adaptation time constant
|
|
double | Delta |
| kick size of the adaptation
|
|
double | mu |
| mean input current
|
|
double | D |
| diffusion coefficient
|
|
std::random_device | rd |
| random device (seeding)
|
|
std::mt19937 | generator |
| random number generator
|
|
std::normal_distribution< double > | dist |
| normal distribution
|
|
An abstract base class for integrate-and-fire neurons with an adaptation current.
◆ IFAC() [1/2]
Spike::IFAC::IFAC |
( |
const std::string & | input_file | ) |
|
|
explicit |
Construct IFAC from .ini file.
- Parameters
-
input_file | Path to .ini file. |
◆ IFAC() [2/2]
Spike::IFAC::IFAC |
( |
double | mu, |
|
|
double | D, |
|
|
double | tau_a, |
|
|
double | Delta ) |
Construct IFAC from given parameters.
- Parameters
-
mu | Mean input current |
D | Diffusion coefficient |
tau_a | adaptation time constant |
Delta | kick size |
◆ get_spikes() [1/2]
Obtains spikes by integrating the Langevin equation using an Euler-Maruyama scheme. Neuron is subject to an applied signal.
- Parameters
-
signal | Signal |
spike_train | Spike train |
Reimplemented from Spike::IF.
◆ get_spikes() [2/2]
void Spike::IFAC::get_spikes |
( |
SpikeTrain & | spike_train | ) |
|
|
overridevirtual |
Obtains spikes by integrating the Langevin equation using an Euler-Maruyama scheme.
- Parameters
-
Reimplemented from Spike::IF.
◆ get_voltage_curve()
void Spike::IFAC::get_voltage_curve |
( |
const TimeFrame & | time, |
|
|
std::vector< double > & | v, |
|
|
std::vector< double > & | a ) |
Calculates the trajectory, i.e. v(t) and a(t) for a given time frame.
- Parameters
-
time | Time frame |
v | Voltage array |
a | Adaptation variable array |
◆ set_Delta()
void Spike::IFAC::set_Delta |
( |
double | Delta_new | ) |
|
|
inline |
Sets a new kick size.
- Parameters
-
◆ set_tau_a()
void Spike::IFAC::set_tau_a |
( |
double | tau_a_new | ) |
|
|
inline |
Sets a new adaptation time constant.
- Parameters
-
tau_a_new | new adaptation time constant |
The documentation for this class was generated from the following files:
- /github/workspace/Spike/Neuron/IFAC.h
- /github/workspace/Spike/Neuron/IFAC.cpp