Miind
|
#include <libs/GeomLib/AbstractNeuralDynamics.hpp>
Public Member Functions | |
AbstractNeuralDynamics (const OdeParameter &, const CurrentCompensationParameter &=CurrentCompensationParameter(0., 0.)) | |
virtual | ~AbstractNeuralDynamics ()=0 |
virtual AbstractNeuralDynamics * | Clone () const =0 |
virtual Potential | EvolvePotential (Potential, MPILib::Time) const =0 |
virtual std::vector< Potential > | InterpretationArray () const =0 |
const OdeParameter & | Par () const |
const CurrentCompensationParameter & | ParCur () const |
virtual MPILib::Time | TPeriod () const =0 |
virtual MPILib::Time | TStep () const =0 |
Protected Attributes | |
const OdeParameter | _par |
const CurrentCompensationParameter | _par_current |
The configuration of a GeomAlgorithm requires that the neural dynamics is defined somewhere. The dynamics is used to define an OdeSystem.
There are predefined derived classes for leaky-integrate-and-fire and quadratic-integrate-and-fire dynamics. The dynamics is usually defined on a grid, whose dimensions are specified in the OdeParameter. OdeParameter also contains a NeuronParameter that determines the dynamics.Anyone who wants to use their own model of neural dynamics. To define dynamics on this grid, the EvolvePotential must be overloaded. Derived classes exist for LIF and QIF neurons, and more generally for spiking neurons (SpikingNeuralDynamics).
Definition at line 39 of file AbstractNeuralDynamics.hpp.
AbstractNeuralDynamics::AbstractNeuralDynamics | ( | const OdeParameter & | par_ode, |
const CurrentCompensationParameter & | par_current = CurrentCompensationParameter(0.,0.) |
||
) |
Constructor.
par_current | Neuron parameter values, and other information relevant to binning structure By default, no current compensation, but if it's chosen, it directly affects the neural dynamics and hence the binning |
Definition at line 26 of file AbstractNeuralDynamics.cpp.
|
pure virtual |
Virtual destructor.
Definition at line 36 of file AbstractNeuralDynamics.cpp.
|
pure virtual |
virtual construction mechanism
Implemented in GeomLib::SpikingQifNeuralDynamics, GeomLib::LifNeuralDynamics, GeomLib::SpikingLifNeuralDynamics, and GeomLib::SpikingNeuralDynamics.
|
pure virtual |
Given a potential, specify how it evolves over a given time step The range of validity of this function is determined by the overloaded function.
|
pure virtual |
Generate the bin boundaries for geometric binning based on the dyn.
Implemented in GeomLib::LifNeuralDynamics, and GeomLib::SpikingNeuralDynamics.
|
inline |
Provide efficient access. For use in time critical code.
Definition at line 65 of file AbstractNeuralDynamics.hpp.
References _par.
|
inline |
Return the current compensation object; can be used to test whether current compensation is applied.
Definition at line 78 of file AbstractNeuralDynamics.hpp.
References _par_current.
|
pure virtual |
Period for the dynamic model. Consult the '1D document'.
Implemented in GeomLib::SpikingQifNeuralDynamics, GeomLib::LifNeuralDynamics, and GeomLib::SpikingLifNeuralDynamics.
|
pure virtual |
Fundamental time step by which mass is shifted through the geometric bins. Consult the '1D document' for details.
Implemented in GeomLib::SpikingQifNeuralDynamics, GeomLib::LifNeuralDynamics, and GeomLib::SpikingLifNeuralDynamics.
|
protected |
Time critical access for derived classes.
Definition at line 83 of file AbstractNeuralDynamics.hpp.
Referenced by GeomLib::SpikingLifNeuralDynamics::EvolvePotential(), GeomLib::SpikingQifNeuralDynamics::EvolvePotential(), GeomLib::LifNeuralDynamics::InterpretationArray(), GeomLib::LifNeuralDynamics::Nneginit(), GeomLib::LifNeuralDynamics::Nposinit(), Par(), GeomLib::LifNeuralDynamics::TimePeriod(), GeomLib::SpikingLifNeuralDynamics::TimeToInf(), GeomLib::SpikingQifNeuralDynamics::TimeToInf(), GeomLib::SpikingLifNeuralDynamics::TPeriod(), GeomLib::SpikingQifNeuralDynamics::TPeriod(), GeomLib::SpikingLifNeuralDynamics::TStep(), and GeomLib::SpikingQifNeuralDynamics::TStep().
|
protected |
For use in the concrete dynamics instantiation.
Definition at line 86 of file AbstractNeuralDynamics.hpp.
Referenced by ParCur().