Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Public Member Functions | Protected Member Functions | List of all members
cypress::NeuronTypeTransformation< SourceType, TargetType > Class Template Referenceabstract

#include <transformation_util.hpp>

Inheritance diagram for cypress::NeuronTypeTransformation< SourceType, TargetType >:
Inheritance graph
[legend]
Collaboration diagram for cypress::NeuronTypeTransformation< SourceType, TargetType >:
Collaboration graph
[legend]

Public Member Functions

virtual ~NeuronTypeTransformation ()
 
virtual TransformationProperties properties () const
 
virtual std::string id () const =0
 
NetworkBase transform (const NetworkBase &src, TransformationAuxData &aux)
 
void copy_results (const NetworkBase &src, NetworkBase &tar) const
 

Protected Member Functions

const NeuronTypesrc_type ()
 
const NeuronTypetar_type ()
 
NetworkBase do_transform (const NetworkBase &src, TransformationAuxData &) override
 
virtual void do_transform_parameters (const typename SourceType::Parameters &src, typename TargetType::Parameters tar)=0
 
virtual bool do_dehomogenise_parameters (const typename SourceType::Parameters &)
 
virtual void do_transform_signals (const typename SourceType::Signals &src, typename TargetType::Signals tar)=0
 
virtual void do_copy_results (const NetworkBase &src, NetworkBase &tar) const
 

Detailed Description

template<typename SourceType, typename TargetType>
class cypress::NeuronTypeTransformation< SourceType, TargetType >

Abstract base class which facilitates the implementation of neuron type transformations.

Constructor & Destructor Documentation

template<typename SourceType, typename TargetType>
virtual cypress::NeuronTypeTransformation< SourceType, TargetType >::~NeuronTypeTransformation ( )
inlinevirtual

Member Function Documentation

void cypress::Transformation::copy_results ( const NetworkBase src,
NetworkBase tar 
) const
inherited

Copys the results from a transformed network to the original network.

virtual void cypress::Transformation::do_copy_results ( const NetworkBase src,
NetworkBase tar 
) const
protectedvirtualinherited

Function called after the network was executed. This function should copy recorded data from the actually executed network to the target network. This function must be overriden if the network topology (including the neuron type) was changed by the transformation. Otherwise a default implementation is used.

template<typename SourceType, typename TargetType>
virtual bool cypress::NeuronTypeTransformation< SourceType, TargetType >::do_dehomogenise_parameters ( const typename SourceType::Parameters &  )
inlineprotectedvirtual
template<typename SourceType, typename TargetType>
NetworkBase cypress::NeuronTypeTransformation< SourceType, TargetType >::do_transform ( const NetworkBase src,
TransformationAuxData aux 
)
inlineoverrideprotectedvirtual

Function which should be overriden by child classes. This function should perform the actual transformation an remember which changes were done.

Parameters
srcis the network which should be modified.
Returns
is a new Network instance which contains the transformed data.

Implements cypress::Transformation.

template<typename SourceType, typename TargetType>
virtual void cypress::NeuronTypeTransformation< SourceType, TargetType >::do_transform_parameters ( const typename SourceType::Parameters &  src,
typename TargetType::Parameters  tar 
)
protectedpure virtual
template<typename SourceType, typename TargetType>
virtual void cypress::NeuronTypeTransformation< SourceType, TargetType >::do_transform_signals ( const typename SourceType::Signals &  src,
typename TargetType::Signals  tar 
)
protectedpure virtual
virtual std::string cypress::Transformation::id ( ) const
pure virtualinherited

Returns an id which can for example be used to explicitly disable certain transformations.

Returns
a unique ID describing this transformation.

Implemented in cypress::transformations::CFToSA, cypress::transformations::IFFH1UnitScale, cypress::transformations::PoissonToSA, cypress::transformations::CFToCI, cypress::transformations::LIFToIFFH1, cypress::transformations::CIToCF, and cypress::transformations::IFFH1ToLIF.

virtual TransformationProperties cypress::Transformation::properties ( ) const
inlinevirtualinherited

Returns a structure describing the transformation, e.g. whether it is lossy or the priority with which it should be applied.

Returns
an instance of Transformation properties which contains information about this particular transformation.

Reimplemented in cypress::transformations::LIFToIFFH1.

template<typename SourceType, typename TargetType>
const NeuronType* cypress::NeuronTypeTransformation< SourceType, TargetType >::src_type ( )
inlineprotected
template<typename SourceType, typename TargetType>
const NeuronType* cypress::NeuronTypeTransformation< SourceType, TargetType >::tar_type ( )
inlineprotected
NetworkBase cypress::Transformation::transform ( const NetworkBase src,
TransformationAuxData aux 
)
inherited

Performs the transformation on the given network instance.

Parameters
srcis the network which should be modified.
auxis some auxiliary data which may be modified by the transformation.
Returns
is a new Network instance which contains the transformed data.

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