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

Implement a perfect integrate-and-fire neuron with an adaptation current (PIFAC). More...

#include <IFAC.h>

Public Member Functions

 PIFAC (double mu, double D, double tau_a, double Delta)
 Construct PIFAC from parameters.
 
 PIFAC (const std::string &input_file)
 Construct PIFAC from .ini file.
 
double drift (double v) const override
 Returns drift of the PIFAC neuron, i.e. mu.
 
void print (std::ostream &out) const override
 Prints the PIFAC neuron 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

Implement a perfect integrate-and-fire neuron with an adaptation current (PIFAC).

Constructor & Destructor Documentation

◆ PIFAC() [1/2]

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

Construct PIFAC from parameters.

Parameters
muMean input current
DDiffusion coefficient
tau_aadaptation time constant
Deltakick size

◆ PIFAC() [2/2]

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

Construct PIFAC from .ini file.

Parameters
input_filePath to .ini file.

Member Function Documentation

◆ drift()

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

Returns drift of the PIFAC neuron, i.e. mu.

Parameters
vVoltage
Returns
Drift of PIFAC, i.e. mu

Implements Spike::IF.

◆ print()

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

Prints the PIFAC neuron to out stream.

Parameters
outout stream

Implements Spike::IF.


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