Spike
Loading...
Searching...
No Matches
Spike::LIFAC Class Reference

Implements a leaky integrate-and-fire neuron with an adaptation current (LIFAC). More...

#include <IFAC.h>

Public Member Functions

 LIFAC (double mu, double D, double tau_a, double Delta)
 Construct LIFAC from parameters.
 
 LIFAC (const std::string &input_file)
 Construct LIFAC from .ini file.
 
double drift (double v) const override
 Returns the drift of the LIFAC neuron, i.e. mu - v.
 
void print (std::ostream &out) const override
 Prints the LIFAC to out stream.
 
- Public Member Functions inherited from Spike::IFAC
 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.
 
- Public Member Functions inherited from Spike::IF
 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.
 
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.
 

Additional Inherited Members

- Protected Attributes inherited from Spike::IFAC
double tau_a
 adaptation time constant
 
double Delta
 kick size of the adaptation
 
- Protected Attributes inherited from Spike::IF
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
 

Detailed Description

Implements a leaky integrate-and-fire neuron with an adaptation current (LIFAC).

Constructor & Destructor Documentation

◆ LIFAC() [1/2]

Spike::LIFAC::LIFAC ( double mu,
double D,
double tau_a,
double Delta )

Construct LIFAC from parameters.

Parameters
muMean input current
DDiffusion coefficient
tau_aadaptation time constant
Deltakick size

◆ LIFAC() [2/2]

Spike::LIFAC::LIFAC ( const std::string & input_file)
explicit

Construct LIFAC from .ini file.

Parameters
input_filePath to .ini file

Member Function Documentation

◆ drift()

double Spike::LIFAC::drift ( double v) const
overridevirtual

Returns the drift of the LIFAC neuron, i.e. mu - v.

Parameters
vVoltage
Returns
Drift of LIFAC

Implements Spike::IF.

◆ print()

void Spike::LIFAC::print ( std::ostream & out) const
inlineoverridevirtual

Prints the LIFAC to out stream.

Parameters
outout stream

Implements Spike::IF.


The documentation for this class was generated from the following files: