Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
cypress::NeuronSignals Class Reference

#include <neurons_base.hpp>

Inheritance diagram for cypress::NeuronSignals:
Inheritance graph
[legend]
Collaboration diagram for cypress::NeuronSignals:
Collaboration graph
[legend]

Public Member Functions

 NeuronSignals (std::shared_ptr< PopulationData > data, NeuronIndex nid0, NeuronIndex nid1)
 
void record (size_t i, bool record=true)
 
bool is_recording (size_t i) const
 
void data (size_t i, std::shared_ptr< Matrix< Real >> matrix)
 
std::shared_ptr< Matrix< Real > > data_ptr (size_t i) const
 
const Matrix< Real > & data (size_t i) const
 
size_t size () const
 

Protected Member Functions

 NeuronSignals (size_t signal_count)
 
const PopulationDatapopulation_data () const
 
PopulationDatapopulation_data ()
 
size_t get_parameters_size () const
 
size_t get_record_size () const
 
size_t get_data_size () const
 
const auto & read_parameters () const
 
const auto & read_record () const
 
const auto & read_data () const
 
auto write_parameters (bool partial=true)
 
auto write_record (bool partial=true)
 
auto write_data (bool partial=true)
 

Static Protected Member Functions

template<typename Seq >
static Seq::value_type from_sequence (Seq list)
 

Detailed Description

The NeuronSignals class is both responsible for flagging which signals should be recorded in a simulation and for actually storing the data traces which are recorded during a simulation.

Constructor & Destructor Documentation

cypress::NeuronSignals::NeuronSignals ( size_t  signal_count)
inlineprotected

Constructor accepting the number of signals in the signal vector.

Parameters
signal_countnumber of signals available in the neuron.
cypress::NeuronSignals::NeuronSignals ( std::shared_ptr< PopulationData data,
NeuronIndex  nid0,
NeuronIndex  nid1 
)
inline

Constructor allowing the NeuronParameters class to act as a view onto an existing set of parameters.

Member Function Documentation

void cypress::NeuronSignals::data ( size_t  i,
std::shared_ptr< Matrix< Real >>  matrix 
)
inline

Allows to set the data for the i-th data entry.

const Matrix<Real>& cypress::NeuronSignals::data ( size_t  i) const
inline

Returns a reference at the matrix containing the data for the i-th signal. Throws an SignalNotRecordedException if the signal with the given index is currently not being recorded.

Parameters
iis the signal index for which the data should be returned.
Returns
a reference at the data matrix.
std::shared_ptr<Matrix<Real> > cypress::NeuronSignals::data_ptr ( size_t  i) const
inline

Returns a reference at the matrix containing the data for the i-th signal. Throws an SignalNotRecordedException if the signal with the given index is currently not being recorded.

Parameters
iis the signal index for which the data should be returned.
Returns
a reference at the data matrix.
template<typename Seq >
static Seq::value_type cypress::PopulationDataView::from_sequence ( Seq  list)
inlinestaticprotectedinherited

Templated method which allows to construct a PopulationDataView with its own data from a list of PopulationData objects. This method is used by the various neuron parameter and signal implementations to be able to supply a list of parameters/signals to the various constructors.

size_t cypress::PopulationDataView::get_data_size ( ) const
inlineprotectedinherited

Returns the size of the record vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of entires in the data array.
size_t cypress::PopulationDataView::get_parameters_size ( ) const
inlineprotectedinherited

Returns the size of the parameter vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of parameters in the parameter array.
size_t cypress::PopulationDataView::get_record_size ( ) const
inlineprotectedinherited

Returns the size of the record vector. Throws an exception if the neurons in the given range do not share parameters of the same size.

Returns
the number of entires in the record array.
bool cypress::NeuronSignals::is_recording ( size_t  i) const
inline

Getter for the record flag of the i-th signal.

const PopulationData& cypress::PopulationDataView::population_data ( ) const
inlineprotectedinherited

Returns a const reference at the underlying PopulationData.

PopulationData& cypress::PopulationDataView::population_data ( )
inlineprotectedinherited

Returns a reference at the underlying PopulationData.

const auto& cypress::PopulationDataView::read_data ( ) const
inlineprotectedinherited

Returns a const-reference at the vector containing the recorded data for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same record flags.

Returns
the record data shared by the neurons in the given range.
const auto& cypress::PopulationDataView::read_parameters ( ) const
inlineprotectedinherited

Returns a const-reference at the parameter vector for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same parameters.

Returns
the parameters shared by the neurons in the given range.
const auto& cypress::PopulationDataView::read_record ( ) const
inlineprotectedinherited

Returns a const-reference at the vector specifying whether a signal should be recorded or not for the neurons represented by this view. Throws an exception if the neurons in this view do not share the same record flags.

Returns
the record flags shared by the neurons in the given range.
void cypress::NeuronSignals::record ( size_t  i,
bool  record = true 
)
inline

Setter for the record flag of the i-th signal.

Parameters
iis the index of the signal for which the record flag should be set.
recordspecifies whether the signal should be recorded (true) or not recorded (false).
size_t cypress::NeuronSignals::size ( ) const
inline

Returns the number of signals.

auto cypress::PopulationDataView::write_data ( bool  partial = true)
inlineprotectedinherited

Returns an iteratble range allowing to write the recorded data for the range of neurons represented by this vie2. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the record data is not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the recorded data for the specified neuron range.
auto cypress::PopulationDataView::write_parameters ( bool  partial = true)
inlineprotectedinherited

Returns an iterable range allowing to modify the parameters for the range of neurons represented by this view. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the parameters are not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the parameters for the specified neuron range.
auto cypress::PopulationDataView::write_record ( bool  partial = true)
inlineprotectedinherited

Returns an iteratble range allowing to modify the record flags for the range of neurons represented by this view. Assumes that the data is being set to the same value for the specified range.

Parameters
partialif true, indicates that the record flags are not entirely overridden, preventing the method from re-homogenising the data.
Returns
an iterable object pointing at the record flags for the specified neuron range.

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