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

#include <transformation.hpp>

Inheritance diagram for cypress::Transformation:
Inheritance graph
[legend]

Public Member Functions

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
 
virtual ~Transformation ()
 

Protected Member Functions

virtual NetworkBase do_transform (const NetworkBase &src, TransformationAuxData &aux)=0
 
virtual void do_copy_results (const NetworkBase &src, NetworkBase &tar) const
 

Detailed Description

Virtual base class from which all Transformations should be derived. The transformation class is as general as possible, just taking a NetworkBase as input and returning a new NetworkBase instance.

Constructor & Destructor Documentation

virtual cypress::Transformation::~Transformation ( )
inlinevirtual

Member Function Documentation

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

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

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

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.

virtual NetworkBase cypress::Transformation::do_transform ( const NetworkBase src,
TransformationAuxData aux 
)
protectedpure virtual
virtual std::string cypress::Transformation::id ( ) const
pure virtual

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
inlinevirtual

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.

NetworkBase cypress::Transformation::transform ( const NetworkBase src,
TransformationAuxData aux 
)

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: