00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _INT_FIRE_H
00011 #define _INT_FIRE_H
00012
00013
00014 class IntFire
00015 {
00016 friend void testStandaloneIntFire();
00017 friend void testSynapse();
00018 public:
00019 IntFire();
00020 IntFire( double thresh, double tau );
00021
00026 void innerAddSpike( unsigned int synIndex, double time );
00027
00029
00031
00032 void setVm( double v );
00033 double getVm() const;
00034 void setTau( double v );
00035 double getTau() const;
00036 void setThresh( double v );
00037 double getThresh() const;
00038 void setRefractoryPeriod( double v );
00039 double getRefractoryPeriod() const;
00040
00042
00044 void activation( double v );
00045 void process( const Eref& e, ProcPtr p );
00046 void reinit( const Eref& e, ProcPtr p );
00047
00048 static const Cinfo* initCinfo();
00049 private:
00050 double Vm_;
00051 double thresh_;
00052 double tau_;
00053 double refractoryPeriod_;
00054 double lastSpike_;
00055 double activation_;
00056 };
00057
00058 #endif // _INT_FIRE_H