Auryn simulator  v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
Public Member Functions | List of all members
auryn::ExpCobaSynapse Class Reference

Implements an exponential conductance-based synapse model. More...

#include <ExpCobaSynapse.h>

Inheritance diagram for auryn::ExpCobaSynapse:
Inheritance graph
[legend]
Collaboration diagram for auryn::ExpCobaSynapse:
Collaboration graph
[legend]

Public Member Functions

 ExpCobaSynapse (NeuronGroup *parent, AurynStateVector *input, AurynStateVector *output)
 
virtual ~ExpCobaSynapse ()
 
void set_tau (const AurynState tau)
 Sets synaptic decay time scale. More...
 
void set_e_rev (const AurynState reversal_pot)
 Sets reversal potential. More...
 
virtual void evolve ()
 
- Public Member Functions inherited from auryn::SynapseModel
 SynapseModel (NeuronGroup *parent, AurynStateVector *input, AurynStateVector *output)
 

Additional Inherited Members

- Protected Attributes inherited from auryn::SynapseModel
NeuronGroupparent_group
 
AurynStateVectorinput_state
 
AurynStateVectoroutput_state
 

Detailed Description

Implements an exponential conductance-based synapse model.

Default timescale is 5e-3s. We interpret input state as the neurotransmitter concentration which decays exponentially. The output state is interpreted as a current which results from multiplying the potential difference with the neurotransmitter concentration of input state.

Note that output state is overwritten in each round and needs to be added to the membrane potential in the parents evolve function.

Constructor & Destructor Documentation

◆ ExpCobaSynapse()

ExpCobaSynapse::ExpCobaSynapse ( NeuronGroup parent,
AurynStateVector input,
AurynStateVector output 
)
31  : SynapseModel( parent, input, output )
32 {
33  if ( input == output ) {
34  logger->warning("ExpCobaSynapse requires input and output state to be different!");
35  }
36 
37  set_tau(5e-3); // sets a default timescale
38  set_e_rev(0.0); // sets default reversal potential
39 }
void warning(std::string text)
Definition: Logger.cpp:136
void set_tau(const AurynState tau)
Sets synaptic decay time scale.
Definition: ExpCobaSynapse.cpp:45
Logger * logger
Global pointer to instance of Logger which needs to be initialized in every simulation main program...
Definition: auryn_global.cpp:36
SynapseModel(NeuronGroup *parent, AurynStateVector *input, AurynStateVector *output)
Definition: SynapseModel.cpp:30
void set_e_rev(const AurynState reversal_pot)
Sets reversal potential.
Definition: ExpCobaSynapse.cpp:51
Here is the call graph for this function:

◆ ~ExpCobaSynapse()

ExpCobaSynapse::~ExpCobaSynapse ( )
virtual
42 {
43 }

Member Function Documentation

◆ evolve()

void ExpCobaSynapse::evolve ( )
virtual

Implements auryn::SynapseModel.

57 {
60  input_state->scale(mul_syn);
61 }
NeuronGroup * parent_group
Definition: SynapseModel.h:54
void diff(AurynVectorFloat *a, AurynVectorFloat *b)
Definition: AurynVector.cpp:262
void mul(const float a)
Definition: AurynVector.h:819
void scale(const float a)
Definition: AurynVector.cpp:74
AurynStateVector * input_state
Definition: SynapseModel.h:55
AurynStateVector * mem
Definition: NeuronGroup.h:64
AurynStateVector * output_state
Definition: SynapseModel.h:56
Here is the call graph for this function:

◆ set_e_rev()

void ExpCobaSynapse::set_e_rev ( const AurynState  reversal_pot)

Sets reversal potential.

52 {
53  e_rev = reversal_pot;
54 }

◆ set_tau()

void ExpCobaSynapse::set_tau ( const AurynState  tau)

Sets synaptic decay time scale.

46 {
47  tau_syn = tau;
48  mul_syn = std::exp(-auryn_timestep/tau_syn);
49 }
double auryn_timestep
Simulation timestep in seconds.
Definition: auryn_definitions.cpp:31

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