• Main Page
  • Classes
  • Files
  • File List

GenericBasicSynapse.h

00001 #ifndef GenericBasicSynapse_H_
00002 #define GenericBasicSynapse_H_
00003 
00004 #include "EvSimObject.h"
00005 #include "ResetRectSpikeResponse.h"
00006 #include "EvSimObjectTypeUtils.h"
00007 #include "Synapse.h"
00008 #include "SimException.h"
00009 #include "Neuron.h"
00010 
00011 #ifndef SWIG
00012 
00013 #include <boost/format.hpp>
00014 using boost::str;
00015 
00016 #endif
00017 
00018 template<class BaseSyn>
00019 class GenericBasicSynapse : public BaseSyn {
00020 public:
00021 
00022         GenericBasicSynapse(float W = 1)
00023         {
00024                 this->W = W;
00025                 this->syn_resp = 0;
00026         };
00027 
00028         virtual ~GenericBasicSynapse() {};
00029 
00030         double W;
00031 
00032         virtual void reset(SimContext &sim_ctxt)
00033         {
00034                 BaseSyn::resetPSRs();
00035         };
00036 
00037 
00038         virtual void setPostSynResponse(SpikeResponse *response) {
00039                 syn_resp = response;
00040         }
00041 
00042         virtual void updateState(SimContext &sim_ctxt, Time time, update_id_t upd_id)
00043         {
00044                 BaseSyn::updatePSR(W*syn_resp->get(), time);
00045         }
00046 
00047 protected:
00048         SpikeResponse *syn_resp;
00049 };
00050 
00051 #endif /* GenericBasicSynapse_H_ */

Generated on Wed Sep 18 2013 11:25:40 for NEVESIM by  doxygen 1.7.1