Ignore:
Timestamp:
Nov 3, 2011, 7:44:01 PM (14 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
41a467
Parents:
50e4e5
git-author:
Frederik Heber <heber@…> (10/27/11 11:53:58)
git-committer:
Frederik Heber <heber@…> (11/03/11 19:44:01)
Message:

HUGE: Removed all calls to Log(), eLog(), replaced by LOG() and ELOG().

  • Replaced DoLog(.) && (Log() << Verbose(.) << ... << std::endl) by Log(., ...).
  • Replaced Log() << Verbose(.) << .. << by Log(., ...)
  • on multiline used stringstream to generate and message which was finally used in LOG(., output.str())
  • there should be no more occurence of Log(). LOG() and ELOG() must be used instead.
  • Eventually, this will allow for storing all errors and re-printing them on program exit which would be very helpful to ascertain error-free runs for the user.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Graph/BreadthFirstSearchAdd.cpp

    r50e4e5 r47d041  
    2121
    2222#include "BreadthFirstSearchAdd.hpp"
     23
     24#include <sstream>
    2325
    2426#include "atom.hpp"
     
    7072  PredecessorList[OtherAtom->getNr()] = Walker; // Walker is the predecessor
    7173  ShortestPathList[OtherAtom->getNr()] = ShortestPathList[Walker->getNr()] + 1;
    72   DoLog(2) && (Log() << Verbose(2) << "Coloring OtherAtom " << OtherAtom->getName() << " " << GraphEdge::getColorName(ColorList[OtherAtom->getNr()]) << ", its predecessor is " << Walker->getName() << " and its Shortest Path is " << ShortestPathList[OtherAtom->getNr()] << " egde(s) long." << endl);
     74  LOG(2, "Coloring OtherAtom " << OtherAtom->getName() << " " << GraphEdge::getColorName(ColorList[OtherAtom->getNr()]) << ", its predecessor is " << Walker->getName() << " and its Shortest Path is " << ShortestPathList[OtherAtom->getNr()] << " egde(s) long.");
    7375  if ((((ShortestPathList[OtherAtom->getNr()] < BondOrder) && (Binder != Bond)))) { // Check for maximum distance
    74     DoLog(3) && (Log() << Verbose(3));
     76    std::stringstream output;
    7577    if (AddedAtomList[OtherAtom->getNr()] == NULL) { // add if it's not been so far
    7678      AddedAtomList[OtherAtom->getNr()] = Mol->AddCopyAtom(OtherAtom);
    77       DoLog(0) && (Log() << Verbose(0) << "Added OtherAtom " << OtherAtom->getName());
     79      output << "Added OtherAtom " << OtherAtom->getName();
    7880      AddedBondList[Binder] = Mol->CopyBond(AddedAtomList[Walker->getNr()], AddedAtomList[OtherAtom->getNr()], Binder);
    79       DoLog(0) && (Log() << Verbose(0) << " and bond " << *(AddedBondList[Binder]) << ", ");
     81      output << " and bond " << *(AddedBondList[Binder]) << ", ";
    8082    } else { // this code should actually never come into play (all GraphEdge::white atoms are not yet present in BondMolecule, that's why they are GraphEdge::white in the first place)
    81       DoLog(0) && (Log() << Verbose(0) << "Not adding OtherAtom " << OtherAtom->getName());
     83      output << "Not adding OtherAtom " << OtherAtom->getName();
    8284      if (AddedBondList[Binder] == NULL) {
    8385        AddedBondList[Binder] = Mol->CopyBond(AddedAtomList[Walker->getNr()], AddedAtomList[OtherAtom->getNr()], Binder);
    84         DoLog(0) && (Log() << Verbose(0) << ", added Bond " << *(AddedBondList[Binder]));
     86        output << ", added Bond " << *(AddedBondList[Binder]);
    8587      } else
    86         DoLog(0) && (Log() << Verbose(0) << ", not added Bond ");
     88        output << ", not added Bond ";
    8789    }
    88     DoLog(0) && (Log() << Verbose(0) << ", putting OtherAtom into queue." << endl);
     90    output << ", putting OtherAtom into queue.";
     91    LOG(0, output.str());
    8992    BFSStack.push_front(OtherAtom);
    9093  } else { // out of bond order, then replace
    9194    if ((AddedAtomList[OtherAtom->getNr()] == NULL) && (Binder->Cyclic))
    9295      ColorList[OtherAtom->getNr()] = GraphEdge::white; // unmark if it has not been queued/added, to make it available via its other bonds (cyclic)
    93     if (Binder == Bond)
    94       DoLog(3) && (Log() << Verbose(3) << "Not Queueing, is the Root bond");
    95     else if (ShortestPathList[OtherAtom->getNr()] >= BondOrder)
    96       DoLog(3) && (Log() << Verbose(3) << "Not Queueing, is out of Bond Count of " << BondOrder);
    97     if (!Binder->Cyclic)
    98       DoLog(0) && (Log() << Verbose(0) << ", is not part of a cyclic bond, saturating bond with Hydrogen." << endl);
     96    {
     97      std::stringstream output;
     98      if (Binder == Bond)
     99        output << "Not Queueing, is the Root bond";
     100      else if (ShortestPathList[OtherAtom->getNr()] >= BondOrder)
     101        output << "Not Queueing, is out of Bond Count of " << BondOrder;
     102      if (!Binder->Cyclic)
     103        output << ", is not part of a cyclic bond, saturating bond with Hydrogen.";
     104      LOG(3, output.str());
     105    }
    99106    if (AddedBondList[Binder] == NULL) {
    100107      if ((AddedAtomList[OtherAtom->getNr()] != NULL)) { // .. whether we add or saturate
     
    112119void BreadthFirstSearchAdd::VisitedNode(molecule *Mol, atom *&Walker, atom *&OtherAtom, bond *&Binder, bond *&Bond)
    113120{
    114   DoLog(3) && (Log() << Verbose(3) << "Not Adding, has already been visited." << endl);
     121  LOG(3, "Not Adding, has already been visited.");
    115122  // This has to be a cyclic bond, check whether it's present ...
    116123  if (AddedBondList[Binder] == NULL) {
     
    147154    BFSStack.pop_front();
    148155    const BondList& ListOfBonds = Walker->getListOfBonds();
    149     DoLog(1) && (Log() << Verbose(1) << "Current Walker is: " << Walker->getName() << ", and has " << ListOfBonds.size() << " bonds." << endl);
     156    LOG(1, "Current Walker is: " << Walker->getName() << ", and has " << ListOfBonds.size() << " bonds.");
    150157    for (BondList::const_iterator Runner = ListOfBonds.begin();
    151158        Runner != ListOfBonds.end();
     
    154161        Binder = (*Runner);
    155162        OtherAtom = (*Runner)->GetOtherAtom(Walker);
    156         DoLog(2) && (Log() << Verbose(2) << "Current OtherAtom is: " << OtherAtom->getName() << " for bond " << *(*Runner) << "." << endl);
     163        LOG(2, "Current OtherAtom is: " << OtherAtom->getName() << " for bond " << *(*Runner) << ".");
    157164        if (ColorList[OtherAtom->getNr()] == GraphEdge::white) {
    158165          UnvisitedNode(Mol, Walker, OtherAtom, Binder, Bond);
     
    163170    }
    164171    ColorList[Walker->getNr()] = GraphEdge::black;
    165     DoLog(1) && (Log() << Verbose(1) << "Coloring Walker " << Walker->getName() << " GraphEdge::black." << endl);
     172    LOG(1, "Coloring Walker " << Walker->getName() << " GraphEdge::black.");
    166173  }
    167174}
Note: See TracChangeset for help on using the changeset viewer.