Skip to content

Latest commit

 

History

History
152 lines (101 loc) · 7.02 KB

class_NeuronModels_Base.rst

File metadata and controls

152 lines (101 loc) · 7.02 KB
.. index:: pair: class; NeuronModels::Base

class NeuronModels::Base

.. toctree::
        :hidden:

Overview

:ref:`Base <doxid-d7/dad/classNeuronModels_1_1Base>` class for all neuron models. :ref:`More...<details-d7/dad/classNeuronModels_1_1Base>`

.. ref-code-block:: cpp
        :class: doxyrest-overview-code-block

        #include <neuronModels.h>

        class Base: public :ref:`Models::Base<doxid-d6/d97/classModels_1_1Base>`
        {
        public:
                // methods

                virtual std::string :ref:`getSimCode<doxid-d7/dad/classNeuronModels_1_1Base_1a3de4c7ff580f63c5b0ec12cb461ebd3a>`() const;
                virtual std::string :ref:`getThresholdConditionCode<doxid-d7/dad/classNeuronModels_1_1Base_1a00ffe96ee864dc67936ce75592c6b198>`() const;
                virtual std::string :ref:`getResetCode<doxid-d7/dad/classNeuronModels_1_1Base_1a4bdc01f203f92c2da4d3b1b48109975d>`() const;
                virtual std::string :ref:`getSupportCode<doxid-d7/dad/classNeuronModels_1_1Base_1ada27dc79296ef8368ac2c7ab20ca8c8e>`() const;
                virtual :ref:`Models::Base::ParamValVec<doxid-db/d97/classSnippet_1_1Base_1a0156727ddf8f9c9cbcbc0d3d913b6b48>` :ref:`getAdditionalInputVars<doxid-d7/dad/classNeuronModels_1_1Base_1afef62c84373334fe4656a754dbb661c7>`() const;
                virtual bool :ref:`isAutoRefractoryRequired<doxid-d7/dad/classNeuronModels_1_1Base_1a32c9b73420bbdf11a373faa4e0cceb09>`() const;
        };

        // direct descendants

        class :ref:`Izhikevich<doxid-d7/d0a/classNeuronModels_1_1Izhikevich>`;
        class :ref:`LIF<doxid-d0/d6d/classNeuronModels_1_1LIF>`;
        class :ref:`Poisson<doxid-de/d1d/classNeuronModels_1_1Poisson>`;
        class :ref:`PoissonNew<doxid-dc/dc0/classNeuronModels_1_1PoissonNew>`;
        class :ref:`RulkovMap<doxid-db/d23/classNeuronModels_1_1RulkovMap>`;
        class :ref:`SpikeSource<doxid-d5/d1f/classNeuronModels_1_1SpikeSource>`;
        class :ref:`SpikeSourceArray<doxid-db/d38/classNeuronModels_1_1SpikeSourceArray>`;
        class :ref:`TraubMiles<doxid-d2/dc3/classNeuronModels_1_1TraubMiles>`;

Inherited Members

.. ref-code-block:: cpp
        :class: doxyrest-overview-inherited-code-block

        public:
                // typedefs

                typedef std::vector<std::string> :ref:`StringVec<doxid-db/d97/classSnippet_1_1Base_1a06cd0f6da1424a20163e12b6fec62519>`;
                typedef std::vector<:ref:`EGP<doxid-dd/d5d/structSnippet_1_1Base_1_1EGP>`> :ref:`EGPVec<doxid-db/d97/classSnippet_1_1Base_1a43ece29884e2c6cabffe9abf985807c6>`;
                typedef std::vector<:ref:`ParamVal<doxid-d7/dda/structSnippet_1_1Base_1_1ParamVal>`> :ref:`ParamValVec<doxid-db/d97/classSnippet_1_1Base_1a0156727ddf8f9c9cbcbc0d3d913b6b48>`;
                typedef std::vector<:ref:`DerivedParam<doxid-d9/d0c/structSnippet_1_1Base_1_1DerivedParam>`> :ref:`DerivedParamVec<doxid-db/d97/classSnippet_1_1Base_1ad14217cebf11eddffa751a4d5c4792cb>`;
                typedef std::vector<:ref:`Var<doxid-d5/d42/structModels_1_1Base_1_1Var>`> :ref:`VarVec<doxid-d6/d97/classModels_1_1Base_1a5a6bc95969a38ac1ac68ab4a0ba94c75>`;

                // structs

                struct :ref:`DerivedParam<doxid-d9/d0c/structSnippet_1_1Base_1_1DerivedParam>`;
                struct :ref:`EGP<doxid-dd/d5d/structSnippet_1_1Base_1_1EGP>`;
                struct :ref:`ParamVal<doxid-d7/dda/structSnippet_1_1Base_1_1ParamVal>`;
                struct :ref:`Var<doxid-d5/d42/structModels_1_1Base_1_1Var>`;

                // methods

                virtual :ref:`~Base<doxid-db/d97/classSnippet_1_1Base_1a17a9ca158277401f2c190afb1e791d1f>`();
                virtual :ref:`StringVec<doxid-db/d97/classSnippet_1_1Base_1a06cd0f6da1424a20163e12b6fec62519>` :ref:`getParamNames<doxid-db/d97/classSnippet_1_1Base_1a0c8374854fbdc457bf0f75e458748580>`() const;
                virtual :ref:`DerivedParamVec<doxid-db/d97/classSnippet_1_1Base_1ad14217cebf11eddffa751a4d5c4792cb>` :ref:`getDerivedParams<doxid-db/d97/classSnippet_1_1Base_1ab01de002618efa59541c927ffdd463f5>`() const;
                virtual :ref:`VarVec<doxid-d6/d97/classModels_1_1Base_1a5a6bc95969a38ac1ac68ab4a0ba94c75>` :ref:`getVars<doxid-d6/d97/classModels_1_1Base_1a9df8ba9bf6d971a574ed4745f6cf946c>`() const;
                virtual :ref:`EGPVec<doxid-db/d97/classSnippet_1_1Base_1a43ece29884e2c6cabffe9abf985807c6>` :ref:`getExtraGlobalParams<doxid-d6/d97/classModels_1_1Base_1a7fdddb7d19382736b330ade62c441de1>`() const;
                size_t :ref:`getVarIndex<doxid-d6/d97/classModels_1_1Base_1afa0e39df5002efc76448e180f82825e4>`(const std::string& varName) const;
                size_t :ref:`getExtraGlobalParamIndex<doxid-d6/d97/classModels_1_1Base_1ae046c19ad56dfb2808c5f4d2cc7475fe>`(const std::string& paramName) const;

Detailed Documentation

:ref:`Base <doxid-d7/dad/classNeuronModels_1_1Base>` class for all neuron models.

Methods

.. index:: pair: function; getSimCode
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual std::string getSimCode() const

Gets the code that defines the execution of one timestep of integration of the neuron model.

The code will refer to for the value of the variable with name "NN". It needs to refer to the predefined variable "ISYN", i.e. contain , if it is to receive input.

.. index:: pair: function; getThresholdConditionCode
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual std::string getThresholdConditionCode() const

Gets code which defines the condition for a true spike in the described neuron model.

This evaluates to a bool (e.g. "V > 20").

.. index:: pair: function; getResetCode
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual std::string getResetCode() const

Gets code that defines the reset action taken after a spike occurred. This can be empty.

.. index:: pair: function; getSupportCode
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual std::string getSupportCode() const

Gets support code to be made available within the neuron kernel/funcion.

This is intended to contain user defined device functions that are used in the neuron codes. Preprocessor defines are also allowed if appropriately safeguarded against multiple definition by using ifndef; functions should be declared as "__host__ __device__" to be available for both GPU and CPU versions.

.. index:: pair: function; getAdditionalInputVars
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual :ref:`Models::Base::ParamValVec<doxid-db/d97/classSnippet_1_1Base_1a0156727ddf8f9c9cbcbc0d3d913b6b48>` getAdditionalInputVars() const

Gets names, types (as strings) and initial values of local variables into which the 'apply input code' of (potentially) multiple postsynaptic input models can apply input

.. index:: pair: function; isAutoRefractoryRequired
.. ref-code-block:: cpp
        :class: doxyrest-title-code-block

        virtual bool isAutoRefractoryRequired() const

Does this model require auto-refractory logic?