for(int i=0; i < Layout::subgridVol(); ++i)
OLattice<T2>& dest = d.field(); const Subset& s = d.subset();  const int *tab = s.SiteTable()->slice(); for(int j=0; j < s.NumSiteTable(); ++j) { int i = tab[j];
void copymask(OLattice<T2>& dest, const OLattice<T1>& mask, const OLattice<T2>& s1) {  for(int i=0; i < Layout::subgridVol(); ++i)     copymask(dest.elem(i), mask.elem(i), s1.elem(i));}