GeNN  4.9.0
GPU enhanced Neuronal Networks (GeNN)
NeuronModels::Base Class Reference

Base class for all neuron models. More...

#include <neuronModels.h>

Inheritance diagram for NeuronModels::Base:
Models::Base Snippet::Base NeuronModels::Izhikevich NeuronModels::LIF NeuronModels::Poisson NeuronModels::PoissonNew NeuronModels::RulkovMap NeuronModels::SpikeSource NeuronModels::SpikeSourceArray NeuronModels::TraubMiles

Public Member Functions

virtual std::string getSimCode () const
 Gets the code that defines the execution of one timestep of integration of the neuron model. More...
 
virtual std::string getThresholdConditionCode () const
 Gets code which defines the condition for a true spike in the described neuron model. More...
 
virtual std::string getResetCode () const
 Gets code that defines the reset action taken after a spike occurred. This can be empty. More...
 
virtual std::string getSupportCode () const
 Gets support code to be made available within the neuron kernel/funcion. More...
 
virtual Models::Base::ParamValVec getAdditionalInputVars () const
 
virtual bool isAutoRefractoryRequired () const
 Does this model require auto-refractory logic? More...
 
boost::uuids::detail::sha1::digest_type getHashDigest () const
 Update hash from model. More...
 
void validate () const
 Validate names of parameters etc. More...
 
- Public Member Functions inherited from Models::Base
virtual VarVec getVars () const
 Gets names and types (as strings) of model variables. More...
 
size_t getVarIndex (const std::string &varName) const
 Find the index of a named variable. More...
 
- Public Member Functions inherited from Snippet::Base
virtual ~Base ()
 
virtual StringVec getParamNames () const
 Gets names of of (independent) model parameters. More...
 
virtual DerivedParamVec getDerivedParams () const
 
virtual EGPVec getExtraGlobalParams () const
 
size_t getExtraGlobalParamIndex (const std::string &paramName) const
 Find the index of a named extra global parameter. More...
 

Additional Inherited Members

- Public Types inherited from Models::Base
typedef std::vector< VarVarVec
 
typedef std::vector< VarRefVarRefVec
 
typedef std::vector< EGPRefEGPRefVec
 
- Public Types inherited from Snippet::Base
typedef std::vector< std::string > StringVec
 
typedef std::vector< EGPEGPVec
 
typedef std::vector< ParamValParamValVec
 
typedef std::vector< DerivedParamDerivedParamVec
 
- Protected Member Functions inherited from Models::Base
void updateHash (boost::uuids::detail::sha1 &hash) const
 
void validate () const
 Validate names of parameters etc. More...
 
- Protected Member Functions inherited from Snippet::Base
void updateHash (boost::uuids::detail::sha1 &hash) const
 
void validate () const
 Validate names of parameters etc. More...
 
- Static Protected Member Functions inherited from Snippet::Base
template<typename T >
static size_t getNamedVecIndex (const std::string &name, const std::vector< T > &vec)
 

Detailed Description

Base class for all neuron models.

Member Function Documentation

◆ getAdditionalInputVars()

virtual Models::Base::ParamValVec NeuronModels::Base::getAdditionalInputVars ( ) const
inlinevirtual

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

◆ getHashDigest()

boost::uuids::detail::sha1::digest_type NeuronModels::Base::getHashDigest ( ) const

Update hash from model.

◆ getResetCode()

virtual std::string NeuronModels::Base::getResetCode ( ) const
inlinevirtual

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

Reimplemented in NeuronModels::SpikeSourceArray, and NeuronModels::LIF.

◆ getSimCode()

virtual std::string NeuronModels::Base::getSimCode ( ) const
inlinevirtual

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.

Reimplemented in NeuronModels::TraubMilesNStep, NeuronModels::TraubMilesAlt, NeuronModels::TraubMilesFast, NeuronModels::TraubMiles, NeuronModels::PoissonNew, NeuronModels::Poisson, NeuronModels::SpikeSourceArray, NeuronModels::LIF, NeuronModels::Izhikevich, and NeuronModels::RulkovMap.

◆ getSupportCode()

virtual std::string NeuronModels::Base::getSupportCode ( ) const
inlinevirtual

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.

◆ getThresholdConditionCode()

virtual std::string NeuronModels::Base::getThresholdConditionCode ( ) const
inlinevirtual

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

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

Reimplemented in NeuronModels::TraubMiles, NeuronModels::PoissonNew, NeuronModels::Poisson, NeuronModels::SpikeSourceArray, NeuronModels::SpikeSource, NeuronModels::LIF, NeuronModels::Izhikevich, and NeuronModels::RulkovMap.

◆ isAutoRefractoryRequired()

virtual bool NeuronModels::Base::isAutoRefractoryRequired ( ) const
inlinevirtual

Does this model require auto-refractory logic?

◆ validate()

void NeuronModels::Base::validate ( ) const

Validate names of parameters etc.


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