class NeuronModels::Base¶
Overview¶
Base class for all neuron models. More…
#include <neuronModels.h> class Base: public Models::Base { public: // methods virtual std::string getSimCode() const; virtual std::string getThresholdConditionCode() const; virtual std::string getResetCode() const; virtual std::string getSupportCode() const; virtual Models::Base::ParamValVec getAdditionalInputVars() const; virtual bool isAutoRefractoryRequired() const; }; // direct descendants class Izhikevich; class LIF; class Poisson; class PoissonNew; class RulkovMap; class SpikeSource; class SpikeSourceArray; class TraubMiles;
Inherited Members¶
public: // typedefs typedef std::vector<std::string> StringVec; typedef std::vector<EGP> EGPVec; typedef std::vector<ParamVal> ParamValVec; typedef std::vector<DerivedParam> DerivedParamVec; typedef std::vector<Var> VarVec; // structs struct DerivedParam; struct EGP; struct ParamVal; struct Var; // methods virtual ~Base(); virtual StringVec getParamNames() const; virtual DerivedParamVec getDerivedParams() const; virtual VarVec getVars() const; virtual EGPVec getExtraGlobalParams() const; size_t getVarIndex(const std::string& varName) const; size_t getExtraGlobalParamIndex(const std::string& paramName) const;
Detailed Documentation¶
Base class for all neuron models.
Methods¶
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.
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”).
virtual std::string getResetCode() const
Gets code that defines the reset action taken after a spike occurred. This can be empty.
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.
virtual Models::Base::ParamValVec 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
virtual bool isAutoRefractoryRequired() const
Does this model require auto-refractory logic?