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