int m = 1; lc[m] = (coord[m] + 1*sgnum(sign) + 4*nrow[m]) % nrow[m];
lc[dir] = (coord[dir] + sgnum(sign) + 4*nrow[dir]) % nrow[dir];
  virtual multi1d<int> operator() (const multi1d<int>& coord, int sign) const    {      multi1d<int> lc = coord;      const multi1d<int>& nrow = Layout::lattSize();      int m = 1;      lc[m] = (coord[m] + 1*sgnum(sign) + 4*nrow[m]) % nrow[m];      return lc;    }