template class DESCRIPTOR> class Coupler2D { protected: Grid2D& _coarse; Grid2D& _fine; const int _coarseSize; const int _fineSize; const bool _vertical; const Vector _physOrigin; const Vector& getFineLatticeR(int y) const; const Vector& getCoarseLatticeR(int y) const; T getScalingFactor() const; T getInvScalingFactor() const; private: std::vector> _coarseLatticeR; std::vector> _fineLatticeR; public: Coupler2D(Grid2D& coarse, Grid2D& fine, Vector origin, Vector extend); };