Changes in src/moleculelist.cpp [6a7f78c:a67d19]
- File:
-
- 1 edited
-
src/moleculelist.cpp (modified) (44 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/moleculelist.cpp
r6a7f78c ra67d19 4 4 * 5 5 */ 6 7 #include <cstring> 6 8 7 9 #include "atom.hpp" … … 17 19 #include "memoryallocator.hpp" 18 20 #include "periodentafel.hpp" 21 #include "World.hpp" 19 22 20 23 /*********************************** Functions for class MoleculeListClass *************************/ … … 33 36 MoleculeListClass::~MoleculeListClass() 34 37 { 35 Log() << Verbose(3) << this << ": Freeing ListOfMolcules." << endl;38 DoLog(3) && (Log() << Verbose(3) << this << ": Freeing ListOfMolcules." << endl); 36 39 for (MoleculeList::iterator ListRunner = ListOfMolecules.begin(); ListRunner != ListOfMolecules.end(); ListRunner++) { 37 Log() << Verbose(4) << "ListOfMolecules: Freeing " << *ListRunner << "." << endl;40 DoLog(4) && (Log() << Verbose(4) << "ListOfMolecules: Freeing " << *ListRunner << "." << endl); 38 41 delete (*ListRunner); 39 42 } 40 Log() << Verbose(4) << "Freeing ListOfMolecules." << endl;43 DoLog(4) && (Log() << Verbose(4) << "Freeing ListOfMolecules." << endl); 41 44 ListOfMolecules.clear(); // empty list 42 45 }; … … 142 145 143 146 // header 144 Log() << Verbose(0) << "Index\tName\t\tAtoms\tFormula\tCenter\tSize" << endl;145 Log() << Verbose(0) << "-----------------------------------------------" << endl;147 DoLog(0) && (Log() << Verbose(0) << "Index\tName\t\tAtoms\tFormula\tCenter\tSize" << endl); 148 DoLog(0) && (Log() << Verbose(0) << "-----------------------------------------------" << endl); 146 149 if (ListOfMolecules.size() == 0) 147 Log() << Verbose(0) << "\tNone" << endl;150 DoLog(0) && (Log() << Verbose(0) << "\tNone" << endl); 148 151 else { 149 152 Origin.Zero(); … … 162 165 } 163 166 // output Index, Name, number of atoms, chemical formula 164 Log() << Verbose(0) << ((*ListRunner)->ActiveFlag ? "*" : " ") << (*ListRunner)->IndexNr << "\t" << (*ListRunner)->name << "\t\t" << (*ListRunner)->AtomCount << "\t";167 DoLog(0) && (Log() << Verbose(0) << ((*ListRunner)->ActiveFlag ? "*" : " ") << (*ListRunner)->IndexNr << "\t" << (*ListRunner)->name << "\t\t" << (*ListRunner)->AtomCount << "\t"); 165 168 Elemental = (*ListRunner)->elemente->end; 166 169 while(Elemental->previous != (*ListRunner)->elemente->start) { 167 170 Elemental = Elemental->previous; 168 171 if (Counts[Elemental->Z] != 0) 169 Log() << Verbose(0) << Elemental->symbol << Counts[Elemental->Z];172 DoLog(0) && (Log() << Verbose(0) << Elemental->symbol << Counts[Elemental->Z]); 170 173 } 171 174 // Center and size 172 Log() << Verbose(0) << "\t" << (*ListRunner)->Center << "\t" << sqrt(size) << endl;175 DoLog(0) && (Log() << Verbose(0) << "\t" << (*ListRunner)->Center << "\t" << sqrt(size) << endl); 173 176 } 174 177 } … … 311 314 Tesselation *TesselStruct = NULL; 312 315 if ((srcmol == NULL) || (mol == NULL)) { 313 eLog() << Verbose(1) << "Either fixed or variable molecule is given as NULL." << endl;316 DoeLog(1) && (eLog()<< Verbose(1) << "Either fixed or variable molecule is given as NULL." << endl); 314 317 return false; 315 318 } … … 319 322 FindNonConvexBorder(mol, TesselStruct, (const LinkedCell *&)LCList, 4., NULL); 320 323 if (TesselStruct == NULL) { 321 eLog() << Verbose(1) << "Could not tesselate the fixed molecule." << endl;324 DoeLog(1) && (eLog()<< Verbose(1) << "Could not tesselate the fixed molecule." << endl); 322 325 return false; 323 326 } … … 336 339 while (Walker->next != srcmol->end) { 337 340 Walker = Walker->next; 338 Log() << Verbose(2) << "INFO: Current Walker is " << *Walker << "." << endl;341 DoLog(2) && (Log() << Verbose(2) << "INFO: Current Walker is " << *Walker << "." << endl); 339 342 if (!TesselStruct->IsInnerPoint(Walker->x, LCList)) { 340 343 CopyAtoms[Walker->nr] = new atom(Walker); … … 345 348 } 346 349 } 347 Log() << Verbose(1) << nr << " of " << srcmol->AtomCount << " atoms have been merged.";350 DoLog(1) && (Log() << Verbose(1) << nr << " of " << srcmol->AtomCount << " atoms have been merged."); 348 351 349 352 // go through all bonds and add as well … … 351 354 while(Binder->next != srcmol->last) { 352 355 Binder = Binder->next; 353 Log() << Verbose(3) << "Adding Bond between " << *CopyAtoms[Binder->leftatom->nr] << " and " << *CopyAtoms[Binder->rightatom->nr]<< "." << endl;356 DoLog(3) && (Log() << Verbose(3) << "Adding Bond between " << *CopyAtoms[Binder->leftatom->nr] << " and " << *CopyAtoms[Binder->rightatom->nr]<< "." << endl); 354 357 mol->AddBond(CopyAtoms[Binder->leftatom->nr], CopyAtoms[Binder->rightatom->nr], Binder->BondDegree); 355 358 } … … 363 366 void MoleculeListClass::Output(ofstream *out) 364 367 { 365 Log() << Verbose(1) << "MoleculeList: ";368 DoLog(1) && (Log() << Verbose(1) << "MoleculeList: "); 366 369 for (MoleculeList::iterator ListRunner = ListOfMolecules.begin(); ListRunner != ListOfMolecules.end(); ListRunner++) 367 Log() << Verbose(0) << *ListRunner << "\t";368 Log() << Verbose(0) << endl;370 DoLog(0) && (Log() << Verbose(0) << *ListRunner << "\t"); 371 DoLog(0) && (Log() << Verbose(0) << endl); 369 372 }; 370 373 … … 392 395 char *FragmentNumber = NULL; 393 396 394 Log() << Verbose(1) << "Saving hydrogen saturation correction ... ";397 DoLog(1) && (Log() << Verbose(1) << "Saving hydrogen saturation correction ... "); 395 398 // 0. parse in fit constant files that should have the same dimension as the final energy files 396 399 // 0a. find dimension of matrices with constants … … 402 405 input.open(line.c_str()); 403 406 if (input == NULL) { 404 eLog() << Verbose(0) << endl << "Unable to open " << line << ", is the directory correct?" << endl; 405 performCriticalExit(); 407 DoLog(1) && (Log() << Verbose(1) << endl << "Unable to open " << line << ", is the directory correct?" << endl); 406 408 return false; 407 409 } … … 420 422 b++; 421 423 } 422 Log() << Verbose(0) << "I recognized " << a << " columns and " << b << " rows, ";424 DoLog(0) && (Log() << Verbose(0) << "I recognized " << a << " columns and " << b << " rows, "); 423 425 input.close(); 424 426 … … 441 443 input.open(line.c_str()); 442 444 if (input == NULL) { 443 eLog() << Verbose(0) << endl << "Unable to open " << line << ", is the directory correct?" << endl;445 DoeLog(0) && (eLog()<< Verbose(0) << endl << "Unable to open " << line << ", is the directory correct?" << endl); 444 446 performCriticalExit(); 445 447 return false; … … 463 465 } 464 466 for (int k = 0; k < 3; k++) { 465 Log() << Verbose(0) << "Constants " << k << ":" << endl;467 DoLog(0) && (Log() << Verbose(0) << "Constants " << k << ":" << endl); 466 468 for (int j = 0; j < b; j++) { 467 469 for (int i = 0; i < a; i++) { 468 Log() << Verbose(0) << FitConstant[k][i][j] << "\t";470 DoLog(0) && (Log() << Verbose(0) << FitConstant[k][i][j] << "\t"); 469 471 } 470 Log() << Verbose(0) << endl;471 } 472 Log() << Verbose(0) << endl;472 DoLog(0) && (Log() << Verbose(0) << endl); 473 } 474 DoLog(0) && (Log() << Verbose(0) << endl); 473 475 } 474 476 … … 558 560 } 559 561 Free(&FitConstant); 560 Log() << Verbose(0) << "done." << endl;562 DoLog(0) && (Log() << Verbose(0) << "done." << endl); 561 563 return true; 562 564 }; … … 578 580 579 581 // open file for the force factors 580 Log() << Verbose(1) << "Saving force factors ... ";582 DoLog(1) && (Log() << Verbose(1) << "Saving force factors ... "); 581 583 line << path << "/" << FRAGMENTPREFIX << FORCESFILE; 582 584 ForcesFile.open(line.str().c_str(), ios::out); … … 606 608 } 607 609 ForcesFile.close(); 608 Log() << Verbose(1) << "done." << endl;610 DoLog(1) && (Log() << Verbose(1) << "done." << endl); 609 611 } else { 610 612 status = false; 611 Log() << Verbose(1) << "failed to open file " << line.str() << "." << endl;613 DoLog(1) && (Log() << Verbose(1) << "failed to open file " << line.str() << "." << endl); 612 614 } 613 615 ForcesFile.close(); … … 637 639 int FragmentCounter = 0; 638 640 ofstream output; 639 641 double cell_size_backup[6]; 642 double * const cell_size = World::get()->cell_size; 643 644 // backup cell_size 645 for (int i=0;i<6;i++) 646 cell_size_backup[i] = cell_size[i]; 640 647 // store the fragments as config and as xyz 641 648 for (MoleculeList::iterator ListRunner = ListOfMolecules.begin(); ListRunner != ListOfMolecules.end(); ListRunner++) { … … 645 652 strcpy(PathBackup, path); 646 653 else { 647 eLog() << Verbose(0) << "OutputConfigForListOfFragments: NULL default path obtained from config!" << endl;654 DoeLog(0) && (eLog()<< Verbose(0) << "OutputConfigForListOfFragments: NULL default path obtained from config!" << endl); 648 655 performCriticalExit(); 649 656 } … … 656 663 sprintf(FragmentName, "%s/%s%s.conf.xyz", configuration->configpath, FRAGMENTPREFIX, FragmentNumber); 657 664 outputFragment.open(FragmentName, ios::out); 658 Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as XYZ ...";665 DoLog(2) && (Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as XYZ ..."); 659 666 if ((intermediateResult = (*ListRunner)->OutputXYZ(&outputFragment))) 660 Log() << Verbose(0) << " done." << endl;667 DoLog(0) && (Log() << Verbose(0) << " done." << endl); 661 668 else 662 Log() << Verbose(0) << " failed." << endl;669 DoLog(0) && (Log() << Verbose(0) << " failed." << endl); 663 670 result = result && intermediateResult; 664 671 outputFragment.close(); … … 666 673 667 674 // list atoms in fragment for debugging 668 Log() << Verbose(2) << "Contained atoms: ";675 DoLog(2) && (Log() << Verbose(2) << "Contained atoms: "); 669 676 Walker = (*ListRunner)->start; 670 677 while (Walker->next != (*ListRunner)->end) { 671 678 Walker = Walker->next; 672 Log() << Verbose(0) << Walker->Name << " ";673 } 674 Log() << Verbose(0) << endl;679 DoLog(0) && (Log() << Verbose(0) << Walker->Name << " "); 680 } 681 DoLog(0) && (Log() << Verbose(0) << endl); 675 682 676 683 // center on edge … … 681 688 j += k + 1; 682 689 BoxDimension.x[k] = 2.5 * (configuration->GetIsAngstroem() ? 1. : 1. / AtomicLengthToAngstroem); 683 (*ListRunner)->cell_size[j] += BoxDimension.x[k] * 2.;690 cell_size[j] = BoxDimension.x[k] * 2.; 684 691 } 685 692 (*ListRunner)->Translate(&BoxDimension); … … 696 703 // and save as config 697 704 sprintf(FragmentName, "%s/%s%s.conf", configuration->configpath, FRAGMENTPREFIX, FragmentNumber); 698 Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as config ...";705 DoLog(2) && (Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as config ..."); 699 706 if ((intermediateResult = configuration->Save(FragmentName, (*ListRunner)->elemente, (*ListRunner)))) 700 Log() << Verbose(0) << " done." << endl;707 DoLog(0) && (Log() << Verbose(0) << " done." << endl); 701 708 else 702 Log() << Verbose(0) << " failed." << endl;709 DoLog(0) && (Log() << Verbose(0) << " failed." << endl); 703 710 result = result && intermediateResult; 704 711 … … 708 715 // and save as mpqc input file 709 716 sprintf(FragmentName, "%s/%s%s.conf", configuration->configpath, FRAGMENTPREFIX, FragmentNumber); 710 Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as mpqc input ...";717 DoLog(2) && (Log() << Verbose(2) << "Saving bond fragment No. " << FragmentNumber << "/" << FragmentCounter - 1 << " as mpqc input ..."); 711 718 if ((intermediateResult = configuration->SaveMPQC(FragmentName, (*ListRunner)))) 712 Log() << Verbose(2) << " done." << endl;719 DoLog(2) && (Log() << Verbose(2) << " done." << endl); 713 720 else 714 Log() << Verbose(0) << " failed." << endl;721 DoLog(0) && (Log() << Verbose(0) << " failed." << endl); 715 722 716 723 result = result && intermediateResult; … … 719 726 Free(&FragmentNumber); 720 727 } 721 Log() << Verbose(0) << " done." << endl;728 DoLog(0) && (Log() << Verbose(0) << " done." << endl); 722 729 723 730 // printing final number 724 Log() << Verbose(2) << "Final number of fragments: " << FragmentCounter << "." << endl; 731 DoLog(2) && (Log() << Verbose(2) << "Final number of fragments: " << FragmentCounter << "." << endl); 732 733 // restore cell_size 734 for (int i=0;i<6;i++) 735 cell_size[i] = cell_size_backup[i]; 725 736 726 737 return result; … … 740 751 /** Dissects given \a *mol into connected subgraphs and inserts them as new molecules but with old atoms into \a this. 741 752 * \param *out output stream for debugging 742 * \param * mol molecule with atoms to dissect753 * \param *periode periodentafel 743 754 * \param *configuration config with BondGraph 744 755 */ 745 void MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs(molecule * const mol, config * const configuration) 746 { 756 void MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs(const periodentafel * const periode, config * const configuration) 757 { 758 molecule *mol = new molecule(periode); 759 atom *Walker = NULL; 760 atom *Advancer = NULL; 761 bond *Binder = NULL; 762 bond *Stepper = NULL; 763 // 0. gather all atoms into single molecule 764 for (MoleculeList::iterator MolRunner = ListOfMolecules.begin(); !ListOfMolecules.empty(); MolRunner = ListOfMolecules.begin()) { 765 // shift all atoms to new molecule 766 Advancer = (*MolRunner)->start->next; 767 while (Advancer != (*MolRunner)->end) { 768 Walker = Advancer; 769 Advancer = Advancer->next; 770 DoLog(3) && (Log() << Verbose(3) << "Re-linking " << *Walker << "..." << endl); 771 unlink(Walker); 772 Walker->father = Walker; 773 mol->AddAtom(Walker); // counting starts at 1 774 } 775 // remove all bonds 776 Stepper = (*MolRunner)->first->next; 777 while (Stepper != (*MolRunner)->last) { 778 Binder = Stepper; 779 Stepper = Stepper->next; 780 delete(Binder); 781 } 782 // remove the molecule 783 delete(*MolRunner); 784 ListOfMolecules.erase(MolRunner); 785 } 786 747 787 // 1. dissect the molecule into connected subgraphs 748 configuration->BG->ConstructBondGraph(mol); 788 if (!configuration->BG->ConstructBondGraph(mol)) { 789 delete (mol); 790 DoeLog(1) && (eLog()<< Verbose(1) << "There are no bonds." << endl); 791 return; 792 } 749 793 750 794 // 2. scan for connected subgraphs … … 753 797 Subgraphs = mol->DepthFirstSearchAnalysis(BackEdgeStack); 754 798 delete(BackEdgeStack); 799 if ((Subgraphs == NULL) || (Subgraphs->next == NULL)) { 800 delete (mol); 801 DoeLog(1) && (eLog()<< Verbose(1) << "There are no atoms." << endl); 802 return; 803 } 755 804 756 805 // 3. dissect (the following construct is needed to have the atoms not in the order of the DFS, but in … … 770 819 strncat(molecules[i]->name, number, MAXSTRINGSIZE - strlen(mol->name) - 1); 771 820 } 772 cout << "MolName is " << molecules[i]->name << endl;821 DoLog(1) && (Log() << Verbose(1) << "MolName is " << molecules[i]->name << endl); 773 822 insert(molecules[i]); 774 823 } … … 778 827 int *MolMap = Calloc<int>(mol->AtomCount, "config::Load() - *MolMap"); 779 828 MoleculeLeafClass *MolecularWalker = Subgraphs; 780 atom *Walker = NULL;829 Walker = NULL; 781 830 while (MolecularWalker->next != NULL) { 782 831 MolecularWalker = MolecularWalker->next; … … 794 843 Walker = mol->start->next; 795 844 if ((Walker->nr <0) || (Walker->nr >= mol->AtomCount)) { 796 eLog() << Verbose(0) << "Index of atom " << *Walker << " is invalid!" << endl;845 DoeLog(0) && (eLog()<< Verbose(0) << "Index of atom " << *Walker << " is invalid!" << endl); 797 846 performCriticalExit(); 798 847 } 799 848 FragmentCounter = MolMap[Walker->nr]; 800 849 if (FragmentCounter != 0) { 801 Log() << Verbose(3) << "Re-linking " << *Walker << "..." << endl;850 DoLog(3) && (Log() << Verbose(3) << "Re-linking " << *Walker << "..." << endl); 802 851 unlink(Walker); 803 852 molecules[FragmentCounter-1]->AddAtom(Walker); // counting starts at 1 804 853 } else { 805 eLog() << Verbose(0) << "Atom " << *Walker << " not associated to molecule!" << endl;854 DoeLog(0) && (eLog()<< Verbose(0) << "Atom " << *Walker << " not associated to molecule!" << endl); 806 855 performCriticalExit(); 807 856 } 808 857 } 809 858 // 4d. we don't need to redo bonds, as they are connected subgraphs and still maintain their ListOfBonds, but we have to remove them from first..last list 810 bond *Binder = mol->first;859 Binder = mol->first; 811 860 while (mol->first->next != mol->last) { 812 861 Binder = mol->first->next; … … 824 873 Free(&MolMap); 825 874 Free(&molecules); 826 Log() << Verbose(1) << "I scanned " << FragmentCounter << " molecules." << endl;875 DoLog(1) && (Log() << Verbose(1) << "I scanned " << FragmentCounter << " molecules." << endl); 827 876 }; 828 877 … … 933 982 int AtomNo; 934 983 935 Log() << Verbose(1) << "Begin of FillBondStructureFromReference." << endl;984 DoLog(1) && (Log() << Verbose(1) << "Begin of FillBondStructureFromReference." << endl); 936 985 // fill ListOfLocalAtoms if NULL was given 937 986 if (!FillListOfLocalAtoms(ListOfLocalAtoms, FragmentCounter, reference->AtomCount, FreeList)) { 938 Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl;987 DoLog(1) && (Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl); 939 988 return false; 940 989 } 941 990 942 991 if (status) { 943 Log() << Verbose(1) << "Creating adjacency list for subgraph " << Leaf << "." << endl;992 DoLog(1) && (Log() << Verbose(1) << "Creating adjacency list for subgraph " << Leaf << "." << endl); 944 993 // remove every bond from the list 945 994 bond *Binder = NULL; … … 962 1011 Leaf->AddBond(Walker, OtherWalker, (*Runner)->BondDegree); 963 1012 } else { 964 Log() << Verbose(1) << "OtherWalker = ListOfLocalAtoms[" << FragmentCounter << "][" << (*Runner)->GetOtherAtom(Walker->GetTrueFather())->nr << "] is NULL!" << endl;1013 DoLog(1) && (Log() << Verbose(1) << "OtherWalker = ListOfLocalAtoms[" << FragmentCounter << "][" << (*Runner)->GetOtherAtom(Walker->GetTrueFather())->nr << "] is NULL!" << endl); 965 1014 status = false; 966 1015 } … … 975 1024 Free(&ListOfLocalAtoms); 976 1025 } 977 Log() << Verbose(1) << "End of FillBondStructureFromReference." << endl;1026 DoLog(1) && (Log() << Verbose(1) << "End of FillBondStructureFromReference." << endl); 978 1027 return status; 979 1028 }; … … 1008 1057 next->FillRootStackForSubgraphs(RootStack, AtomMask, ++FragmentCounter); 1009 1058 } else { 1010 Log() << Verbose(1) << "Rootstack[" << FragmentCounter << "] is NULL." << endl;1059 DoLog(1) && (Log() << Verbose(1) << "Rootstack[" << FragmentCounter << "] is NULL." << endl); 1011 1060 return false; 1012 1061 } … … 1014 1063 return true; 1015 1064 } else { 1016 Log() << Verbose(1) << "Rootstack is NULL." << endl;1065 DoLog(1) && (Log() << Verbose(1) << "Rootstack is NULL." << endl); 1017 1066 return false; 1018 1067 } … … 1064 1113 int KeySetCounter = 0; 1065 1114 1066 Log() << Verbose(1) << "Begin of AssignKeySetsToFragment." << endl;1115 DoLog(1) && (Log() << Verbose(1) << "Begin of AssignKeySetsToFragment." << endl); 1067 1116 // fill ListOfLocalAtoms if NULL was given 1068 1117 if (!FillListOfLocalAtoms(ListOfLocalAtoms, FragmentCounter, reference->AtomCount, FreeList)) { 1069 Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl;1118 DoLog(1) && (Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl); 1070 1119 return false; 1071 1120 } … … 1095 1144 delete (TempSet); 1096 1145 if (KeySetCounter == 0) {// if there are no keysets, delete the list 1097 Log() << Verbose(1) << "KeySetCounter is zero, deleting FragmentList." << endl;1146 DoLog(1) && (Log() << Verbose(1) << "KeySetCounter is zero, deleting FragmentList." << endl); 1098 1147 delete (FragmentList[FragmentCounter]); 1099 1148 } else 1100 Log() << Verbose(1) << KeySetCounter << " keysets were assigned to subgraph " << FragmentCounter << "." << endl;1149 DoLog(1) && (Log() << Verbose(1) << KeySetCounter << " keysets were assigned to subgraph " << FragmentCounter << "." << endl); 1101 1150 FragmentCounter++; 1102 1151 if (next != NULL) … … 1104 1153 FragmentCounter--; 1105 1154 } else 1106 Log() << Verbose(1) << "KeySetList is NULL or empty." << endl;1155 DoLog(1) && (Log() << Verbose(1) << "KeySetList is NULL or empty." << endl); 1107 1156 1108 1157 if ((FreeList) && (ListOfLocalAtoms != NULL)) { … … 1112 1161 Free(&ListOfLocalAtoms); 1113 1162 } 1114 Log() << Verbose(1) << "End of AssignKeySetsToFragment." << endl;1163 DoLog(1) && (Log() << Verbose(1) << "End of AssignKeySetsToFragment." << endl); 1115 1164 return status; 1116 1165 }; … … 1125 1174 void MoleculeLeafClass::TranslateIndicesToGlobalIDs(Graph **FragmentList, int &FragmentCounter, int &TotalNumberOfKeySets, Graph &TotalGraph) 1126 1175 { 1127 Log() << Verbose(1) << "Begin of TranslateIndicesToGlobalIDs." << endl;1176 DoLog(1) && (Log() << Verbose(1) << "Begin of TranslateIndicesToGlobalIDs." << endl); 1128 1177 KeySet *TempSet = new KeySet; 1129 1178 if (FragmentList[FragmentCounter] != NULL) { … … 1136 1185 delete (TempSet); 1137 1186 } else { 1138 Log() << Verbose(1) << "FragmentList is NULL." << endl;1187 DoLog(1) && (Log() << Verbose(1) << "FragmentList is NULL." << endl); 1139 1188 } 1140 1189 if (next != NULL) 1141 1190 next->TranslateIndicesToGlobalIDs(FragmentList, ++FragmentCounter, TotalNumberOfKeySets, TotalGraph); 1142 1191 FragmentCounter--; 1143 Log() << Verbose(1) << "End of TranslateIndicesToGlobalIDs." << endl;1192 DoLog(1) && (Log() << Verbose(1) << "End of TranslateIndicesToGlobalIDs." << endl); 1144 1193 }; 1145 1194
Note:
See TracChangeset
for help on using the changeset viewer.
