iSpike  2.1
Spike conversion library for robotics
D:/Home/Programs/iSpike/include/iSpike/Channel/InputChannel/JointInputChannel.hpp
Go to the documentation of this file.
00001 #ifndef JOINTINPUTCHANNEL_HPP_
00002 #define JOINTINPUTCHANNEL_HPP_
00003 
00004 //iSpike includes
00005 #include <iSpike/Channel/InputChannel/InputChannel.hpp>
00006 #include <iSpike/NeuronSim/IzhikevichNeuronSim.hpp>
00007 
00008 //Other includes
00009 #include <boost/math/distributions/normal.hpp>
00010 #include <string>
00011 #include <vector>
00012 #include <map>
00013 using namespace std;
00014 
00015 namespace ispike {
00016 
00018         class JointInputChannel : public InputChannel {
00019                 public:
00020                         JointInputChannel();
00021                         virtual ~JointInputChannel();
00022                         const vector<unsigned>& getFiring() { return neuronSim.getSpikes(); }
00023                         void initialize(Reader* reader, map<string, Property>& properties);
00024                         void setProperties(map<string, Property>& properties);
00025                         void step();
00026 
00027 
00028                 private:
00029                         //==========================  VARIABLES  ==========================
00031                         AngleReader* reader;
00032 
00034                         double minAngle;
00035 
00037                         double maxAngle;
00038 
00040                         double standardDeviation;
00041 
00043                         vector<double> neuronAngles;
00044 
00046                         boost::math::normal_distribution<double> normalDistribution;
00047 
00049                         IzhikevichNeuronSim neuronSim;
00050 
00052                         double currentFactor;
00053 
00055                         double constantCurrent;
00056 
00058                         double peakCurrent;
00059 
00060                         //==============================  METHODS  =========================
00061                         void updateProperties(map<string, Property>& properties);
00062 
00063         };
00064 
00065 }
00066 
00067 #endif /* JOINTINPUTCHANNEL_HPP_ */
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines