PetaVision  Alpha
CopyConn.hpp
1 /*
2  * CopyConn.hpp
3  *
4  *
5  * Created on: Nov 19, 2014
6  * Author: pschultz
7  */
8 
9 #ifndef COPYCONN_HPP_
10 #define COPYCONN_HPP_
11 
12 #include "components/OriginalConnNameParam.hpp"
13 #include "connections/HyPerConn.hpp"
14 
15 namespace PV {
16 
17 class HyPerCol;
18 
19 class CopyConn : public HyPerConn {
20  public:
21  CopyConn(char const *name, HyPerCol *hc);
22 
23  virtual ~CopyConn();
24 
25  protected:
26  CopyConn();
27 
28  int initialize(char const *name, HyPerCol *hc);
29 
30  virtual void defineComponents() override;
31 
32  virtual ArborList *createArborList() override;
33  virtual PatchSize *createPatchSize() override;
34  virtual SharedWeights *createSharedWeights() override;
35  virtual WeightsPairInterface *createWeightsPair() override;
36  virtual InitWeights *createWeightInitializer() override;
37  virtual BaseWeightUpdater *createWeightUpdater() override;
38  virtual OriginalConnNameParam *createOriginalConnNameParam();
39 
40  virtual Response::Status initializeState() override;
41 
42  protected:
43  OriginalConnNameParam *mOriginalConnNameParam = nullptr;
44 }; // class CopyConn
45 
46 } // namespace PV
47 
48 #endif // COPYCONN_HPP_