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(); //} } }
private void clearBspf() { bspf = null; }