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

A simulation where we measure the linear (first order) susceptibility as well as the diagonal and antidiagonal second order susceptibility of an integrate-and-fire neuron. More...

#include <SusceptibilitySimulationLinNonlin.h>

Public Member Functions

 SusceptibilitySimulationLinNonlin (const std::string &input_file)
 Constructs susceptibility simulation from .ini file.
 
void calculate (size_t trials) override
 Calculates the linear susceptibility and the diagonal and antidiagonal second order susceptibility for a given number of trials. Each time the white noise signal is generated again, the neuron produces a new spike train and the susceptibility is calculated. The result is then added (!) to the susceptibility vector suscept_lin.
 
void add_to_suscepts (const std::vector< std::complex< double > > &tmp_lin, const std::vector< std::complex< double > > &tmp_nonlin_diag, const std::vector< std::complex< double > > &tmp_nonlin_antidiag)
 Adds the susceptibility tmp_lin to suscept_lin.
 
size_t get_size_lin () const
 Returns the size of the linear susceptibility vector.
 
size_t get_size_nonlin () const
 Returns the size of the nonlinear susceptibility vector.
 
const std::vector< std::complex< double > > & get_suscept_lin () const
 Returns the linear susceptibility vector.
 
const std::vector< std::complex< double > > & get_suscept_nonlin_diag () const
 Returns the diagonal nonlinear susceptibility vector.
 
const std::vector< std::complex< double > > & get_suscept_nonlin_antidiag () const
 Returns the antidiagonal nonlinear susceptibility vector.
 
- Public Member Functions inherited from Spike::SusceptibilitySimulation
 SusceptibilitySimulation (const std::string &input_file)
 Constructs susceptibility simulation from .ini file.
 
void set_c (double c_new)
 Sets a new noise split coefficient.
 
size_t get_N_neurons () const
 Returns the number of neurons (trials) for this simulation.
 
const TimeFrameget_time_frame () const
 Returns the time frame.
 

Additional Inherited Members

- Protected Attributes inherited from Spike::SusceptibilitySimulation
TimeFrame time_frame
 time frame
 
SpikeTrain spike_train
 spike train
 
WhiteNoiseSignal signal
 white noise signal
 
std::unique_ptr< IFneuron
 neuron
 
size_t N_neurons
 number of neurons (trials)
 
double c
 noise split coefficient
 
double D
 total noise intensity
 

Detailed Description

A simulation where we measure the linear (first order) susceptibility as well as the diagonal and antidiagonal second order susceptibility of an integrate-and-fire neuron.

Constructor & Destructor Documentation

◆ SusceptibilitySimulationLinNonlin()

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

Constructs susceptibility simulation from .ini file.

Parameters
input_filepath to .ini file

Member Function Documentation

◆ add_to_suscepts()

void Spike::SusceptibilitySimulationLinNonlin::add_to_suscepts ( const std::vector< std::complex< double > > & tmp_lin,
const std::vector< std::complex< double > > & tmp_nonlin_diag,
const std::vector< std::complex< double > > & tmp_nonlin_antidiag )

Adds the susceptibility tmp_lin to suscept_lin.

Parameters
tmp_linsusceptibility vector

◆ calculate()

void Spike::SusceptibilitySimulationLinNonlin::calculate ( size_t trials)
overridevirtual

Calculates the linear susceptibility and the diagonal and antidiagonal second order susceptibility for a given number of trials. Each time the white noise signal is generated again, the neuron produces a new spike train and the susceptibility is calculated. The result is then added (!) to the susceptibility vector suscept_lin.

Parameters
trialsnumber of trials.

Implements Spike::SusceptibilitySimulation.

◆ get_size_lin()

size_t Spike::SusceptibilitySimulationLinNonlin::get_size_lin ( ) const
inline

Returns the size of the linear susceptibility vector.

Returns
size of susceptibility vector

◆ get_size_nonlin()

size_t Spike::SusceptibilitySimulationLinNonlin::get_size_nonlin ( ) const
inline

Returns the size of the nonlinear susceptibility vector.

Returns
size of susceptibility vector

◆ get_suscept_lin()

const std::vector< std::complex< double > > & Spike::SusceptibilitySimulationLinNonlin::get_suscept_lin ( ) const
inline

Returns the linear susceptibility vector.

Returns
susceptibility vector

◆ get_suscept_nonlin_antidiag()

const std::vector< std::complex< double > > & Spike::SusceptibilitySimulationLinNonlin::get_suscept_nonlin_antidiag ( ) const
inline

Returns the antidiagonal nonlinear susceptibility vector.

Returns
susceptibility vector

◆ get_suscept_nonlin_diag()

const std::vector< std::complex< double > > & Spike::SusceptibilitySimulationLinNonlin::get_suscept_nonlin_diag ( ) const
inline

Returns the diagonal nonlinear susceptibility vector.

Returns
susceptibility vector

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