Miind
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GeomLib::SpikingOdeSystem Class Referenceabstract

#include <libs/GeomLib/SpikingOdeSystem.hpp>

Inheritance diagram for GeomLib::SpikingOdeSystem:
Inheritance graph
Collaboration diagram for GeomLib::SpikingOdeSystem:
Collaboration graph

Public Member Functions

 SpikingOdeSystem (const SpikingNeuralDynamics &)
 
 SpikingOdeSystem (const SpikingOdeSystem &)
 
virtual ~SpikingOdeSystem ()=0
 
virtual SpikingOdeSystemClone () const =0
 
virtual MPILib::Index CurrentIndex () const =0
 
virtual MPILib::Rate CurrentRate () const =0
 
MPILib::Time CurrentTime () const
 
virtual Potential DCContribution () const =0
 
virtual void Evolve (MPILib::Time)=0
 
MPILib::Index FindBin (Potential) const
 
MPILib::Index IndexResetBin () const
 
vector< MPILib::Potential > & InterpretationBuffer ()
 
const vector< MPILib::Potential > & InterpretationBuffer () const
 
MPILib::Index MapPotentialToProbabilityBin (MPILib::Index i) const
 
vector< MPILib::Potential > & MassBuffer ()
 
const vector< MPILib::Potential > & MassBuffer () const
 
MPILib::Number NumberOfBins () const
 
const OdeParameterPar () const
 
void PrepareReport (double *, double *) const
 
MPILib::Time TStep () const
 
void UpdateIndex ()
 

Protected Member Functions

std::vector< MPILib::IndexInitializeCacheMap (MPILib::Number)
 
void RetrieveFromQueue ()
 
void StoreInQueue ()
 
void UpdateCacheMap ()
 
MPILib::Index UpdateMapPotentialToProbabilityBin (MPILib::Index i) const
 

Protected Attributes

vector< MPILib::Potential_buffer_interpretation
 
vector< MPILib::Density_buffer_mass
 
MPILib::Index _i_reset
 
MPILib::Index _i_reversal
 
int _index
 
vector< MPILib::Index_map_cache
 
const string _name_namerical
 
MPILib::Number _nr_bins
 
boost::shared_ptr< AbstractNeuralDynamics_p_dyn
 
const OdeParameter_par
 
ProbabilityQueue _queue
 
MPILib::Time _t_current
 
MPILib::Time _t_period
 
MPILib::Time _t_step
 

Detailed Description

In this system of ordinary differential equations it is assumed that dynamics is always spiking.

Definition at line 32 of file SpikingOdeSystem.hpp.

Constructor & Destructor Documentation

SpikingOdeSystem::SpikingOdeSystem ( const SpikingNeuralDynamics dyn)

Definition at line 26 of file SpikingOdeSystem.cpp.

SpikingOdeSystem::SpikingOdeSystem ( const SpikingOdeSystem rhs)

Definition at line 41 of file SpikingOdeSystem.cpp.

SpikingOdeSystem::~SpikingOdeSystem ( )
pure virtual

This is an abstract base class.

Definition at line 52 of file SpikingOdeSystem.cpp.

Member Function Documentation

virtual SpikingOdeSystem* GeomLib::SpikingOdeSystem::Clone ( ) const
pure virtual

virtual construction by the framework

Implements GeomLib::AbstractOdeSystem.

Implemented in GeomLib::QifOdeSystem.

virtual MPILib::Index GeomLib::SpikingOdeSystem::CurrentIndex ( ) const
pure virtual

Implemented in GeomLib::QifOdeSystem.

virtual MPILib::Rate GeomLib::AbstractOdeSystem::CurrentRate ( ) const
pure virtualinherited

Rate due to neural dynamics driving.

Implemented in GeomLib::LeakingOdeSystem, and GeomLib::QifOdeSystem.

MPILib::Time GeomLib::AbstractOdeSystem::CurrentTime ( ) const
inlineinherited

Definition at line 79 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_t_current.

virtual Potential GeomLib::SpikingOdeSystem::DCContribution ( ) const
pure virtual

Reimplemented from GeomLib::AbstractOdeSystem.

Implemented in GeomLib::QifOdeSystem.

virtual void GeomLib::AbstractOdeSystem::Evolve ( MPILib::Time  )
pure virtualinherited

Every sub class defines its own evolution. This Evolve function does not relate to neural dynamics: that is controlled by AbstractNeuralDynamics objects. This function is a hook to call update the mapping between mass and potential bins.

Implemented in GeomLib::LeakingOdeSystem.

MPILib::Index AbstractOdeSystem::FindBin ( Potential  V) const
inherited
MPILib::Index GeomLib::AbstractOdeSystem::IndexResetBin ( ) const
inlineinherited

Index of the reset bin relative to the interpretation array, i.e. constant during simulation.

Definition at line 109 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_i_reset.

Referenced by anonymous_namespace{NumericalMasterEquationCode.hpp}::HandleExcitatoryInput().

std::vector< MPILib::Index > SpikingOdeSystem::InitializeCacheMap ( MPILib::Number  n)
protected

Definition at line 76 of file SpikingOdeSystem.cpp.

References i.

vector<MPILib::Potential>& GeomLib::AbstractOdeSystem::InterpretationBuffer ( )
inlineinherited

Access to the array of bin limits; be aware of the convention that the upper limit of the highest bin is not present in this array, and is equal to VMax, which can be obtained by Par()._nr_bins.

Definition at line 91 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_buffer_interpretation.

const vector<MPILib::Potential>& GeomLib::AbstractOdeSystem::InterpretationBuffer ( ) const
inlineinherited

Const access to the array of bin limits; be aware of the convention that the upper limit of the highest bin is not present in this array, and is equal to VMax, which can be obtained by Par()._nr_bins.

Definition at line 95 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_buffer_interpretation.

MPILib::Index GeomLib::AbstractOdeSystem::MapPotentialToProbabilityBin ( MPILib::Index  i) const
inlineinherited

Maintains the current mapping from a probability mass bin to its current poetntial bin in the interpretation array.

Definition at line 115 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_map_cache, and i.

Referenced by anonymous_namespace{NumericalMasterEquationCode.hpp}::HandleExcitatoryInput(), anonymous_namespace{NumericalMasterEquationCode.hpp}::HandleInhibitoryInput(), and GeomLib::LeakingOdeSystem::ReversalBinScoop().

vector<MPILib::Potential>& GeomLib::AbstractOdeSystem::MassBuffer ( )
inlineinherited

Direct access to the array that represents the density mass. Note that this may be confusing, and in general you do not want to use this information directly. For a density profile, use PrepareReport, which performs the appropriate preprocessing. a density profile use PrepareReport.

Definition at line 100 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_buffer_mass.

const vector<MPILib::Potential>& GeomLib::AbstractOdeSystem::MassBuffer ( ) const
inlineinherited

Const direct access to the array that represents the density mass. Note that this may be confusing, and in general you do not want to use this information directly. For a density profile, use PrepareReport, which performs the appropriate preprocessing. a density profile use PrepareReport.

Definition at line 106 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_buffer_mass.

MPILib::Number GeomLib::AbstractOdeSystem::NumberOfBins ( ) const
inlineinherited
const OdeParameter& GeomLib::AbstractOdeSystem::Par ( ) const
inlineinherited
void AbstractOdeSystem::PrepareReport ( double *  array_interpretation,
double *  array_mass 
) const
inherited

Represents the current density profile. Both double pointers must point to contiguous memory at least NumberOfBins() large. After calling the first array will contain.

Definition at line 101 of file AbstractOdeSystem.cpp.

References i.

void SpikingOdeSystem::RetrieveFromQueue ( )
protected
void SpikingOdeSystem::StoreInQueue ( )
protected
MPILib::Time GeomLib::AbstractOdeSystem::TStep ( ) const
inlineinherited

Definition at line 72 of file AbstractOdeSystem.hpp.

References GeomLib::AbstractOdeSystem::_t_step.

void SpikingOdeSystem::UpdateCacheMap ( )
protected
void GeomLib::SpikingOdeSystem::UpdateIndex ( )
inline

Definition at line 48 of file SpikingOdeSystem.hpp.

References _index, and _nr_bins.

MPILib::Index GeomLib::SpikingOdeSystem::UpdateMapPotentialToProbabilityBin ( MPILib::Index  i) const
inlineprotected

Definition at line 74 of file SpikingOdeSystem.hpp.

References _index, _nr_bins, i, and GeomLib::AbstractOdeSystem::Par().

Referenced by UpdateCacheMap().

Member Data Documentation

vector<MPILib::Potential> GeomLib::AbstractOdeSystem::_buffer_interpretation
protectedinherited
vector<MPILib::Density> GeomLib::AbstractOdeSystem::_buffer_mass
protectedinherited
MPILib::Index GeomLib::AbstractOdeSystem::_i_reset
protectedinherited
MPILib::Index GeomLib::AbstractOdeSystem::_i_reversal
protectedinherited
int GeomLib::SpikingOdeSystem::_index
protected
vector<MPILib::Index> GeomLib::AbstractOdeSystem::_map_cache
protectedinherited
const string GeomLib::AbstractOdeSystem::_name_namerical
protectedinherited

Definition at line 128 of file AbstractOdeSystem.hpp.

MPILib::Number GeomLib::SpikingOdeSystem::_nr_bins
protected

Definition at line 64 of file SpikingOdeSystem.hpp.

Referenced by UpdateIndex(), and UpdateMapPotentialToProbabilityBin().

boost::shared_ptr<AbstractNeuralDynamics> GeomLib::AbstractOdeSystem::_p_dyn
protectedinherited

Definition at line 127 of file AbstractOdeSystem.hpp.

const OdeParameter& GeomLib::AbstractOdeSystem::_par
protectedinherited
ProbabilityQueue GeomLib::SpikingOdeSystem::_queue
protected
MPILib::Time GeomLib::AbstractOdeSystem::_t_current
protectedinherited
MPILib::Time GeomLib::AbstractOdeSystem::_t_period
protectedinherited

Definition at line 129 of file AbstractOdeSystem.hpp.

MPILib::Time GeomLib::AbstractOdeSystem::_t_step
protectedinherited

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