Example #1
0
        public void initializeBspf()
		{
			if (bspf == null)
			{
				long timeBegin = 0;
				if (showRebondTimes)
					timeBegin = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
				bspf = new Bspf(3);
				if (MIX_BSPT_ORDER)
				{
					System.Console.Out.WriteLine("mixing bspt order");
					int stride = 3;
					int step = (atomCount + stride - 1) / stride;
					for (int i = 0; i < step; ++i)
						for (int j = 0; j < stride; ++j)
						{
							int k = i * stride + j;
							if (k >= atomCount)
								continue;
							Atom atom = atoms[k];
							if (!atom.Deleted)
								bspf.addTuple(atom.modelIndex, atom);
						}
				}
				else
				{
					for (int i = atomCount; --i >= 0; )
					{
						Atom atom = atoms[i];
						if (!atom.Deleted)
							bspf.addTuple(atom.modelIndex, atom);
					}
				}
				if (showRebondTimes)
				{
					long timeEnd = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
					System.Console.Out.WriteLine("time to build bspf=" + (timeEnd - timeBegin) + " ms");
					bspf.stats();
					//        bspf.dump();
				}
			}
		}