00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MPNETWORK_H
00019 #define MPNETWORK_H
00020
00021 using namespace std;
00022 #include <amygdala/network.h>
00023
00024 class Instance;
00025
00026
00027 #if GCC_VERSION >= 30000
00028 #include <ext/hash_map>
00029 #else
00030 #include <hash_map>
00031 #endif
00032 #include <vector>
00033 #include <pair.h>
00034
00042 class MpNetwork : public Network {
00043 public:
00045 MpNetwork(Instance *inst);
00046 ~MpNetwork();
00047
00049 Instance* GetInstance();
00050
00057 bool ConnectNeurons(Instance *presynInst, AmIdInt presynNId, AmIdInt postsynNId, float weight, AmTimeInt delay);
00058
00059
00064 vector< Synapse *> * GetAxon(unsigned int instId, unsigned int nId);
00065
00066 protected:
00068 Instance *instance;
00069
00074 hash_map<unsigned int, hash_map<unsigned int, vector< Synapse* > *> *> axonMap;
00075
00076 protected:
00077 void IncrementSimTime();
00078 };
00079
00080 #endif