Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/moleculelist.cpp

    r6a7f78c ra67d19  
    44 *
    55 */
     6
     7#include <cstring>
    68
    79#include "atom.hpp"
     
    1719#include "memoryallocator.hpp"
    1820#include "periodentafel.hpp"
     21#include "World.hpp"
    1922
    2023/*********************************** Functions for class MoleculeListClass *************************/
     
    3336MoleculeListClass::~MoleculeListClass()
    3437{
    35   Log() << Verbose(3) << this << ": Freeing ListOfMolcules." << endl;
     38  DoLog(3) && (Log() << Verbose(3) << this << ": Freeing ListOfMolcules." << endl);
    3639  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);
    3841    delete (*ListRunner);
    3942  }
    40   Log() << Verbose(4) << "Freeing ListOfMolecules." << endl;
     43  DoLog(4) && (Log() << Verbose(4) << "Freeing ListOfMolecules." << endl);
    4144  ListOfMolecules.clear(); // empty list
    4245};
     
    142145
    143146  // 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);
    146149  if (ListOfMolecules.size() == 0)
    147     Log() << Verbose(0) << "\tNone" << endl;
     150    DoLog(0) && (Log() << Verbose(0) << "\tNone" << endl);
    148151  else {
    149152    Origin.Zero();
     
    162165      }
    163166      // 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");
    165168      Elemental = (*ListRunner)->elemente->end;
    166169      while(Elemental->previous != (*ListRunner)->elemente->start) {
    167170        Elemental = Elemental->previous;
    168171        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]);
    170173      }
    171174      // 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);
    173176    }
    174177  }
     
    311314  Tesselation *TesselStruct = NULL;
    312315  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);
    314317    return false;
    315318  }
     
    319322  FindNonConvexBorder(mol, TesselStruct, (const LinkedCell *&)LCList, 4., NULL);
    320323  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);
    322325    return false;
    323326  }
     
    336339  while (Walker->next != srcmol->end) {
    337340    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);
    339342    if (!TesselStruct->IsInnerPoint(Walker->x, LCList)) {
    340343      CopyAtoms[Walker->nr] = new atom(Walker);
     
    345348    }
    346349  }
    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.");
    348351
    349352  // go through all bonds and add as well
     
    351354  while(Binder->next != srcmol->last) {
    352355    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);
    354357    mol->AddBond(CopyAtoms[Binder->leftatom->nr], CopyAtoms[Binder->rightatom->nr], Binder->BondDegree);
    355358  }
     
    363366void MoleculeListClass::Output(ofstream *out)
    364367{
    365   Log() << Verbose(1) << "MoleculeList: ";
     368  DoLog(1) && (Log() << Verbose(1) << "MoleculeList: ");
    366369  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);
    369372};
    370373
     
    392395  char *FragmentNumber = NULL;
    393396
    394   Log() << Verbose(1) << "Saving hydrogen saturation correction ... ";
     397  DoLog(1) && (Log() << Verbose(1) << "Saving hydrogen saturation correction ... ");
    395398  // 0. parse in fit constant files that should have the same dimension as the final energy files
    396399  // 0a. find dimension of matrices with constants
     
    402405  input.open(line.c_str());
    403406  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);
    406408    return false;
    407409  }
     
    420422    b++;
    421423  }
    422   Log() << Verbose(0) << "I recognized " << a << " columns and " << b << " rows, ";
     424  DoLog(0) && (Log() << Verbose(0) << "I recognized " << a << " columns and " << b << " rows, ");
    423425  input.close();
    424426
     
    441443    input.open(line.c_str());
    442444    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);
    444446      performCriticalExit();
    445447      return false;
     
    463465  }
    464466  for (int k = 0; k < 3; k++) {
    465     Log() << Verbose(0) << "Constants " << k << ":" << endl;
     467    DoLog(0) && (Log() << Verbose(0) << "Constants " << k << ":" << endl);
    466468    for (int j = 0; j < b; j++) {
    467469      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");
    469471      }
    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);
    473475  }
    474476
     
    558560  }
    559561  Free(&FitConstant);
    560   Log() << Verbose(0) << "done." << endl;
     562  DoLog(0) && (Log() << Verbose(0) << "done." << endl);
    561563  return true;
    562564};
     
    578580
    579581  // open file for the force factors
    580   Log() << Verbose(1) << "Saving  force factors ... ";
     582  DoLog(1) && (Log() << Verbose(1) << "Saving  force factors ... ");
    581583  line << path << "/" << FRAGMENTPREFIX << FORCESFILE;
    582584  ForcesFile.open(line.str().c_str(), ios::out);
     
    606608    }
    607609    ForcesFile.close();
    608     Log() << Verbose(1) << "done." << endl;
     610    DoLog(1) && (Log() << Verbose(1) << "done." << endl);
    609611  } else {
    610612    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);
    612614  }
    613615  ForcesFile.close();
     
    637639  int FragmentCounter = 0;
    638640  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];
    640647  // store the fragments as config and as xyz
    641648  for (MoleculeList::iterator ListRunner = ListOfMolecules.begin(); ListRunner != ListOfMolecules.end(); ListRunner++) {
     
    645652      strcpy(PathBackup, path);
    646653    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);
    648655      performCriticalExit();
    649656    }
     
    656663    sprintf(FragmentName, "%s/%s%s.conf.xyz", configuration->configpath, FRAGMENTPREFIX, FragmentNumber);
    657664    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 ...");
    659666    if ((intermediateResult = (*ListRunner)->OutputXYZ(&outputFragment)))
    660       Log() << Verbose(0) << " done." << endl;
     667      DoLog(0) && (Log() << Verbose(0) << " done." << endl);
    661668    else
    662       Log() << Verbose(0) << " failed." << endl;
     669      DoLog(0) && (Log() << Verbose(0) << " failed." << endl);
    663670    result = result && intermediateResult;
    664671    outputFragment.close();
     
    666673
    667674    // list atoms in fragment for debugging
    668     Log() << Verbose(2) << "Contained atoms: ";
     675    DoLog(2) && (Log() << Verbose(2) << "Contained atoms: ");
    669676    Walker = (*ListRunner)->start;
    670677    while (Walker->next != (*ListRunner)->end) {
    671678      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);
    675682
    676683    // center on edge
     
    681688      j += k + 1;
    682689      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.;
    684691    }
    685692    (*ListRunner)->Translate(&BoxDimension);
     
    696703    // and save as config
    697704    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 ...");
    699706    if ((intermediateResult = configuration->Save(FragmentName, (*ListRunner)->elemente, (*ListRunner))))
    700       Log() << Verbose(0) << " done." << endl;
     707      DoLog(0) && (Log() << Verbose(0) << " done." << endl);
    701708    else
    702       Log() << Verbose(0) << " failed." << endl;
     709      DoLog(0) && (Log() << Verbose(0) << " failed." << endl);
    703710    result = result && intermediateResult;
    704711
     
    708715    // and save as mpqc input file
    709716    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 ...");
    711718    if ((intermediateResult = configuration->SaveMPQC(FragmentName, (*ListRunner))))
    712       Log() << Verbose(2) << " done." << endl;
     719      DoLog(2) && (Log() << Verbose(2) << " done." << endl);
    713720    else
    714       Log() << Verbose(0) << " failed." << endl;
     721      DoLog(0) && (Log() << Verbose(0) << " failed." << endl);
    715722
    716723    result = result && intermediateResult;
     
    719726    Free(&FragmentNumber);
    720727  }
    721   Log() << Verbose(0) << " done." << endl;
     728  DoLog(0) && (Log() << Verbose(0) << " done." << endl);
    722729
    723730  // 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];
    725736
    726737  return result;
     
    740751/** Dissects given \a *mol into connected subgraphs and inserts them as new molecules but with old atoms into \a this.
    741752 * \param *out output stream for debugging
    742  * \param *mol molecule with atoms to dissect
     753 * \param *periode periodentafel
    743754 * \param *configuration config with BondGraph
    744755 */
    745 void MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs(molecule * const mol, config * const configuration)
    746 {
     756void 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
    747787  // 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  }
    749793
    750794  // 2. scan for connected subgraphs
     
    753797  Subgraphs = mol->DepthFirstSearchAnalysis(BackEdgeStack);
    754798  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  }
    755804
    756805  // 3. dissect (the following construct is needed to have the atoms not in the order of the DFS, but in
     
    770819      strncat(molecules[i]->name, number, MAXSTRINGSIZE - strlen(mol->name) - 1);
    771820    }
    772     cout << "MolName is " << molecules[i]->name << endl;
     821    DoLog(1) && (Log() << Verbose(1) << "MolName is " << molecules[i]->name << endl);
    773822    insert(molecules[i]);
    774823  }
     
    778827  int *MolMap = Calloc<int>(mol->AtomCount, "config::Load() - *MolMap");
    779828  MoleculeLeafClass *MolecularWalker = Subgraphs;
    780   atom *Walker = NULL;
     829  Walker = NULL;
    781830  while (MolecularWalker->next != NULL) {
    782831    MolecularWalker = MolecularWalker->next;
     
    794843    Walker = mol->start->next;
    795844    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);
    797846      performCriticalExit();
    798847    }
    799848    FragmentCounter = MolMap[Walker->nr];
    800849    if (FragmentCounter != 0) {
    801       Log() << Verbose(3) << "Re-linking " << *Walker << "..." << endl;
     850      DoLog(3) && (Log() << Verbose(3) << "Re-linking " << *Walker << "..." << endl);
    802851      unlink(Walker);
    803852      molecules[FragmentCounter-1]->AddAtom(Walker);    // counting starts at 1
    804853    } 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);
    806855      performCriticalExit();
    807856    }
    808857  }
    809858  // 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;
    811860  while (mol->first->next != mol->last) {
    812861    Binder = mol->first->next;
     
    824873  Free(&MolMap);
    825874  Free(&molecules);
    826   Log() << Verbose(1) << "I scanned " << FragmentCounter << " molecules." << endl;
     875  DoLog(1) && (Log() << Verbose(1) << "I scanned " << FragmentCounter << " molecules." << endl);
    827876};
    828877
     
    933982  int AtomNo;
    934983
    935   Log() << Verbose(1) << "Begin of FillBondStructureFromReference." << endl;
     984  DoLog(1) && (Log() << Verbose(1) << "Begin of FillBondStructureFromReference." << endl);
    936985  // fill ListOfLocalAtoms if NULL was given
    937986  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);
    939988    return false;
    940989  }
    941990
    942991  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);
    944993    // remove every bond from the list
    945994    bond *Binder = NULL;
     
    9621011            Leaf->AddBond(Walker, OtherWalker, (*Runner)->BondDegree);
    9631012        } 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);
    9651014          status = false;
    9661015        }
     
    9751024      Free(&ListOfLocalAtoms);
    9761025  }
    977   Log() << Verbose(1) << "End of FillBondStructureFromReference." << endl;
     1026  DoLog(1) && (Log() << Verbose(1) << "End of FillBondStructureFromReference." << endl);
    9781027  return status;
    9791028};
     
    10081057        next->FillRootStackForSubgraphs(RootStack, AtomMask, ++FragmentCounter);
    10091058    } else {
    1010       Log() << Verbose(1) << "Rootstack[" << FragmentCounter << "] is NULL." << endl;
     1059      DoLog(1) && (Log() << Verbose(1) << "Rootstack[" << FragmentCounter << "] is NULL." << endl);
    10111060      return false;
    10121061    }
     
    10141063    return true;
    10151064  } else {
    1016     Log() << Verbose(1) << "Rootstack is NULL." << endl;
     1065    DoLog(1) && (Log() << Verbose(1) << "Rootstack is NULL." << endl);
    10171066    return false;
    10181067  }
     
    10641113  int KeySetCounter = 0;
    10651114
    1066   Log() << Verbose(1) << "Begin of AssignKeySetsToFragment." << endl;
     1115  DoLog(1) && (Log() << Verbose(1) << "Begin of AssignKeySetsToFragment." << endl);
    10671116  // fill ListOfLocalAtoms if NULL was given
    10681117  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);
    10701119    return false;
    10711120  }
     
    10951144    delete (TempSet);
    10961145    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);
    10981147      delete (FragmentList[FragmentCounter]);
    10991148    } 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);
    11011150    FragmentCounter++;
    11021151    if (next != NULL)
     
    11041153    FragmentCounter--;
    11051154  } else
    1106     Log() << Verbose(1) << "KeySetList is NULL or empty." << endl;
     1155    DoLog(1) && (Log() << Verbose(1) << "KeySetList is NULL or empty." << endl);
    11071156
    11081157  if ((FreeList) && (ListOfLocalAtoms != NULL)) {
     
    11121161      Free(&ListOfLocalAtoms);
    11131162  }
    1114   Log() << Verbose(1) << "End of AssignKeySetsToFragment." << endl;
     1163  DoLog(1) && (Log() << Verbose(1) << "End of AssignKeySetsToFragment." << endl);
    11151164  return status;
    11161165};
     
    11251174void MoleculeLeafClass::TranslateIndicesToGlobalIDs(Graph **FragmentList, int &FragmentCounter, int &TotalNumberOfKeySets, Graph &TotalGraph)
    11261175{
    1127   Log() << Verbose(1) << "Begin of TranslateIndicesToGlobalIDs." << endl;
     1176  DoLog(1) && (Log() << Verbose(1) << "Begin of TranslateIndicesToGlobalIDs." << endl);
    11281177  KeySet *TempSet = new KeySet;
    11291178  if (FragmentList[FragmentCounter] != NULL) {
     
    11361185    delete (TempSet);
    11371186  } else {
    1138     Log() << Verbose(1) << "FragmentList is NULL." << endl;
     1187    DoLog(1) && (Log() << Verbose(1) << "FragmentList is NULL." << endl);
    11391188  }
    11401189  if (next != NULL)
    11411190    next->TranslateIndicesToGlobalIDs(FragmentList, ++FragmentCounter, TotalNumberOfKeySets, TotalGraph);
    11421191  FragmentCounter--;
    1143   Log() << Verbose(1) << "End of TranslateIndicesToGlobalIDs." << endl;
     1192  DoLog(1) && (Log() << Verbose(1) << "End of TranslateIndicesToGlobalIDs." << endl);
    11441193};
    11451194
Note: See TracChangeset for help on using the changeset viewer.