Miind
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MPILib::DelayAssemblyAlgorithm< WeightType > Class Template Reference

#include <libs/MPILib/include/DelayAssemblyAlgorithm.hpp>

Inheritance diagram for MPILib::DelayAssemblyAlgorithm< WeightType >:
Inheritance graph
Collaboration diagram for MPILib::DelayAssemblyAlgorithm< WeightType >:
Collaboration graph

Public Types

typedef WeightType WeightType
 

Public Member Functions

 DelayAssemblyAlgorithm ()
 
 DelayAssemblyAlgorithm (const DelayAssemblyParameter &)
 
virtual ~DelayAssemblyAlgorithm ()
 
virtual DelayAssemblyAlgorithmclone () const
 
virtual void configure (const SimulationRunParameter &simParam)
 
virtual void evolveNodeState (const std::vector< Rate > &nodeVector, const std::vector< WeightType > &weightVector, Time time)
 
virtual void evolveNodeState (const std::vector< Rate > &nodeVector, const std::vector< WeightType > &weightVector, Time time, const std::vector< NodeType > &typeVector)
 
std::valarray< double > & getArrayInterpretation (AlgorithmGrid &grid) const
 
std::valarray< double > & getArrayState (AlgorithmGrid &grid) const
 
virtual Rate getCurrentRate () const
 
virtual Time getCurrentTime () const
 
virtual AlgorithmGrid getGrid (NodeId, bool b_state=true) const
 
NumbergetStateSize (AlgorithmGrid &grid) const
 
Number getStateSize (const AlgorithmGrid &grid) const
 
virtual void prepareEvolve (const std::vector< Rate > &nodeVector, const std::vector< WeightType > &weightVector, const std::vector< NodeType > &typeVector)
 

Private Member Functions

std::vector< double > getInitialState () const
 
double innerProduct (const std::vector< Rate > &nodeVector, const std::vector< double > &weightVector)
 

Private Attributes

DelayAssemblyParameter _par
 
MPILib::Rate _r_current
 
MPILib::Time _t_current
 

Detailed Description

template<class WeightType>
class MPILib::DelayAssemblyAlgorithm< WeightType >

Definition at line 31 of file DelayAssemblyAlgorithm.hpp.

Member Typedef Documentation

Definition at line 41 of file AlgorithmInterface.hpp.

Constructor & Destructor Documentation

Definition at line 30 of file DelayAssemblyAlgorithmCode.hpp.

template<class WeightType >
MPILib::DelayAssemblyAlgorithm< WeightType >::~DelayAssemblyAlgorithm ( )
virtual

Definition at line 38 of file DelayAssemblyAlgorithmCode.hpp.

Member Function Documentation

template<class WeightType >
DelayAssemblyAlgorithm< WeightType > * MPILib::DelayAssemblyAlgorithm< WeightType >::clone ( ) const
virtual

Cloning operation, to provide each DynamicNode with its own Algorithm instance. Clients use the naked pointer at their own risk.

Implements MPILib::AlgorithmInterface< WeightType >.

Definition at line 48 of file DelayAssemblyAlgorithmCode.hpp.

template<class WeightType >
void MPILib::DelayAssemblyAlgorithm< WeightType >::configure ( const SimulationRunParameter simParam)
virtual

Configure the Algorithm

Parameters
simParam

Implements MPILib::AlgorithmInterface< WeightType >.

Definition at line 43 of file DelayAssemblyAlgorithmCode.hpp.

template<class WeightType >
void MPILib::DelayAssemblyAlgorithm< WeightType >::evolveNodeState ( const std::vector< Rate > &  nodeVector,
const std::vector< WeightType > &  weightVector,
Time  time 
)
virtual

Evolve the node state

Parameters
nodeVectorVector of the node States
weightVectorVector of the weights of the nodes
timeTime point of the algorithm

Reimplemented from MPILib::AlgorithmInterface< WeightType >.

Definition at line 60 of file DelayAssemblyAlgorithmCode.hpp.

References GeomLib::MuSigma::_mu, and GeomLib::MuSigmaScalarProduct< WeightType >::Evaluate().

virtual void MPILib::AlgorithmInterface< WeightType >::evolveNodeState ( const std::vector< Rate > &  nodeVector,
const std::vector< WeightType > &  weightVector,
Time  time,
const std::vector< NodeType > &  typeVector 
)
inlinevirtualinherited

Evolve the node state. In the default case it simply calls envolveNodeState without the NodeTypes. However if an algorithm needs the nodeTypes of the precursors overwrite this function.

Parameters
nodeVectorVector of the node States
weightVectorVector of the weights of the nodes
timeTime point of the algorithm
typeVectorVector of the NodeTypes of the precursors

Definition at line 83 of file AlgorithmInterface.hpp.

std::valarray<double>& MPILib::AlgorithmInterface< WeightType >::getArrayInterpretation ( AlgorithmGrid grid) const
inlineinherited

Definition at line 125 of file AlgorithmInterface.hpp.

std::valarray<double>& MPILib::AlgorithmInterface< WeightType >::getArrayState ( AlgorithmGrid grid) const
inlineinherited

Definition at line 120 of file AlgorithmInterface.hpp.

template<class WeightType>
virtual Rate MPILib::DelayAssemblyAlgorithm< WeightType >::getCurrentRate ( ) const
inlinevirtual

The calculated rate of the node

Returns
The rate of the node

Implements MPILib::AlgorithmInterface< WeightType >.

Definition at line 71 of file DelayAssemblyAlgorithm.hpp.

References MPILib::DelayAssemblyAlgorithm< WeightType >::_r_current.

template<class WeightType>
virtual Time MPILib::DelayAssemblyAlgorithm< WeightType >::getCurrentTime ( ) const
inlinevirtual

The current timepoint

Returns
The current time point

Implements MPILib::AlgorithmInterface< WeightType >.

Definition at line 65 of file DelayAssemblyAlgorithm.hpp.

References MPILib::DelayAssemblyAlgorithm< WeightType >::_t_current.

template<class WeightType >
AlgorithmGrid MPILib::DelayAssemblyAlgorithm< WeightType >::getGrid ( NodeId  ,
bool  b_state = true 
) const
virtual

Stores the algorithm state in a Algorithm Grid

Parameters
NodeId,idof the node that needs to return the grid
b_state,returnthe entire state if true, a reduced grid with just the firing rate info if false
Returns
The state of the algorithm. The Grid must at least contain one element; an empty grid will cause a crash.

Implements MPILib::AlgorithmInterface< WeightType >.

Definition at line 53 of file DelayAssemblyAlgorithmCode.hpp.

template<class WeightType>
std::vector<double> MPILib::DelayAssemblyAlgorithm< WeightType >::getInitialState ( ) const
private
Number& MPILib::AlgorithmInterface< WeightType >::getStateSize ( AlgorithmGrid grid) const
inlineinherited

Definition at line 130 of file AlgorithmInterface.hpp.

Number MPILib::AlgorithmInterface< WeightType >::getStateSize ( const AlgorithmGrid grid) const
inlineinherited

Definition at line 135 of file AlgorithmInterface.hpp.

template<class WeightType>
double MPILib::DelayAssemblyAlgorithm< WeightType >::innerProduct ( const std::vector< Rate > &  nodeVector,
const std::vector< double > &  weightVector 
)
private
virtual void MPILib::AlgorithmInterface< WeightType >::prepareEvolve ( const std::vector< Rate > &  nodeVector,
const std::vector< WeightType > &  weightVector,
const std::vector< NodeType > &  typeVector 
)
inlinevirtualinherited

prepare the Evolve method

Parameters
nodeVectorVector of the node States
weightVectorVector of the weights of the nodes
typeVectorVector of the NodeTypes of the precursors

Definition at line 95 of file AlgorithmInterface.hpp.

Member Data Documentation

template<class WeightType>
DelayAssemblyParameter MPILib::DelayAssemblyAlgorithm< WeightType >::_par
private

Definition at line 82 of file DelayAssemblyAlgorithm.hpp.

template<class WeightType>
MPILib::Rate MPILib::DelayAssemblyAlgorithm< WeightType >::_r_current
private
template<class WeightType>
MPILib::Time MPILib::DelayAssemblyAlgorithm< WeightType >::_t_current
private

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