PetaVision  Alpha
LeakyIntegrator.hpp
1 /*
2  * LeakyIntegrator.hpp
3  *
4  * Created on: Feb 12, 2013
5  * Author: pschultz
6  */
7 
8 #ifndef LEAKYINTEGRATOR_HPP_
9 #define LEAKYINTEGRATOR_HPP_
10 
11 #include "ANNLayer.hpp"
12 
13 namespace PV {
14 
15 class LeakyIntegrator : public PV::ANNLayer {
16  // Member functions
17  public:
18  LeakyIntegrator(const char *name, HyPerCol *hc);
19  virtual ~LeakyIntegrator();
20 
21  protected:
23  int initialize(const char *name, HyPerCol *hc);
24  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
25  virtual void ioParam_integrationTime(enum ParamsIOFlag ioFlag);
26  virtual Response::Status updateState(double timed, double dt) override;
27 
28  private:
29  int initialize_base();
30 
31  // Member Variables
32  protected:
33  float integrationTime;
34 }; // class LeakyIntegrator
35 
36 } /* namespace PV */
37 #endif /* LEAKYINTEGRATOR_HPP_ */
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override