code: private static double combineRmsd(int b1, int b2, AFPChain afpChain,Atom[] ca1,Atom[] ca2)
  	{
  		int     i;
  		int     afpn = 0;
  
  		int[] afpChainList =afpChain.getAfpChainList();
  
  		int[] block2Afp = afpChain.getBlock2Afp();
  		int[] blockSize = afpChain.getBlockSize();
  
  
  		int[]   list = new int[blockSize[b1]+blockSize[b2]];
  		for(i = block2Afp[b1]; i < block2Afp[b1] + blockSize[b1]; i ++) {
  			list[afpn ++] = afpChainList[i];
  		}
  		for(i = block2Afp[b2]; i < block2Afp[b2] + blockSize[b2]; i ++) {
  			list[afpn ++] = afpChainList[i];
  		}
  		double  rmsd = AFPChainer.calAfpRmsd(afpn, list,0, afpChain,ca1,ca2);
  
  		afpChain.setBlock2Afp(block2Afp);
  		afpChain.setBlockSize(blockSize);
  		afpChain.setAfpChainList(afpChainList);
  
  		return rmsd;
  	}
docs: return the rmsd of two blocks