#include "SpikeEvent.h"#include "SimObjectCloneFactory.h"#include "ScalarField.h"#include "FieldRegistry.h"#include "SimObjectInformation.h"#include "AdvancePhase.h"#include "AdvanceInfo.h"#include <iostream>#include <vector>#include <limits>#include <boost/shared_ptr.hpp>#include "RandomEngine.h"

Go to the source code of this file.
Classes | |
| class | SimObject | 
| Base class for all objects to simulate.  More... | |
| class | SimObject::ID | 
| Class containing all the id's necessary to uniquely identify a simulation object.  More... | |
| class | SimObject::BlockAllocator | 
| Class for memory management of SimObjects.  More... | |
Defines | |
| #define | ADVANCEFLAG_HASSPIKED 1 | 
| Bit mask for the return value of SimObject::advance().   | |
| #define | ADVANCEFLAG_DEACTIVATE 2 | 
| Bit mask for the return value of SimObject::advance().   | |
| #define | SPIKEHITFLAG_ACTIVATE 1 | 
| Bit mask for the return value of SimObject::spikeHit().   | |
| #define | RESETFLAG_ACTIVATE 1 | 
| Bit mask for the return value of SimObject::resez().   | |
| #define | SIMOBJECT(T, A) | 
| Macro which must be called for a an implementation of a simulation object.   | |
Typedefs | |
| typedef std::vector< SimObject * > | SpikeReceiverList | 
| Used for the collection of currently active spike driven objects.   | |
Functions | |
| ostream & | operator<< (ostream &s, const SimObject::ID &id) | 
| Output operator for SimObject::ID.   | |
| #define ADVANCEFLAG_DEACTIVATE 2 | 
Bit mask for the return value of SimObject::advance().
ADVANCEFLAG_DEACTIVATE & a->advance() > 0 indicates that the advancable object need not to be advanced during the next time steps.
Definition at line 36 of file SimObject.h.
Referenced by SimpleScalingSpikingSynapse::advance(), GenericDAModulatedSTDPSynapse< BaseSyn >::advance(), EvLifNeuron::advance(), SingleThreadSimEngine::advance(), and FiniteSpikeResponse::advanceReturn().
| #define ADVANCEFLAG_HASSPIKED 1 | 
Bit mask for the return value of SimObject::advance().
ADVANCEFLAG_HASSPIKED & a->advance() > 0 indicates that the advancable object produced a spike during the call of advance
Definition at line 30 of file SimObject.h.
Referenced by SpikingInputNeuron::advance(), PoissonInputNeuron::advance(), ODESystemBasedSpikingNeuron::advance(), LinearPoissonNeuron::advance(), CbLifNeuron::advance(), LifNeuron::advance(), ExIzhiNeuronBase::advance(), IzhiNeuronBase::advance(), and aEIFNeuronBase::advance().
| #define RESETFLAG_ACTIVATE 1 | 
Bit mask for the return value of SimObject::resez().
RESETFLAG_ACTIVATE & a->advance() > 0 indicates that the object should be put into the list of active spike driven objects
Definition at line 48 of file SimObject.h.
Referenced by OUNoiseResponse::reset(), GenericHomeostaticSynapse< GenericDynamicSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > >::reset(), and SingleThreadSimEngine::reset().
| #define SIMOBJECT | ( | T, | |||
| A | ) | 
Value:
private: \ friend struct A; \ protected: \ static object_type_t type; \ friend class SimObjectRegistry; \ virtual void setObjectTypeID(object_type_t tid) { type = tid; } \ static SimObjectInformation *simObjectInfo; \ virtual void setSimObjectInformation( SimObjectInformation *info ) { simObjectInfo = info; }; \ public: \ virtual SimObjectInformation const*getSimObjectInformation(void) { return simObjectInfo; }; \ public: \ typedef SimObjectCloneFactory<T> CloneFactory; \ static T model; \ virtual SimObject* create(void) const { T* o = new T(*this); o->deepCopy(this); return o; }; \ virtual SimObject* create(RandomEngine *) const { T* o = new T(*this); o->deepCopy(this); return o; }; \ virtual object_type_t getObjectTypeID(void) const { return type; }; \ static object_type_t objectTypeID(void) { return type; }; \ static void registerField( Field const& f ) { simObjectInfo->getFieldRegistry().registerField(f); }; \ static void registerFields(void); \ static void registerSimObject(void); \
Definition at line 60 of file SimObject.h.
| #define SPIKEHITFLAG_ACTIVATE 1 | 
Bit mask for the return value of SimObject::spikeHit().
SPIKEHITFLAG_ACTIVATE & a->spikeHit( ... ) > 0 indicates that the spike receiving object should be moved to the active list
Definition at line 42 of file SimObject.h.
Referenced by SingleThreadSpikeScheduler::deliverSpikes(), MultiThreadSpikeScheduler::deliverSpikes(), GenericDAModulatedSTDPSynapse< BaseSyn >::spikeHit(), and FiniteSpikeResponse::spikeHitReturn().
| typedef std::vector< SimObject* > SpikeReceiverList | 
Used for the collection of currently active spike driven objects.
Definition at line 451 of file SimObject.h.
| ostream& operator<< | ( | ostream & | s, | |
| const SimObject::ID & | id | |||
| ) | 
 1.5.5