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