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